使用 systemd-analyze 分析 Linux 系统启动慢的原因

ops/2025/1/16 1:43:34/

使用 systemd-analyze 命令可以查看 Linux 系统在启动过程中每个服务的耗时情况, 方便我们排查是哪个环节导致系统启动缓慢, 以下是整理的常用命令参数和效果. 例子中一下子就可以定位到是 gssproxy.service 服务启动耗时过长.

systemd-analyze blame Print list of running units ordered by time to init
$ systemd-analyze blame29.912s gssproxy.service11.280s update-motd.service4.250s network.service426ms cloud-init-local.service302ms cloud-init.service276ms dracut-initqueue.service247ms cloud-config.service206ms cloud-final.service201ms systemd-udev-settle.service183ms initrd-switch-root.service175ms postfix.service158ms lvm2-monitor.service
systemd-analyze critical-chain Print a tree of the time critical chain of units
$ systemd-analyze critical-chainThe time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.graphical.target @30.350s
└─multi-user.target @30.350s└─getty.target @30.350s└─getty@tty1.service @30.350s└─systemd-user-sessions.service @30.322s +2ms└─remote-fs.target @30.322s└─remote-fs-pre.target @30.322s└─nfs-client.target @30.322s└─gssproxy.service @409ms +29.912s└─basic.target @409ms└─sockets.target @409ms└─dbus.socket @409ms└─sysinit.target @408ms└─systemd-update-utmp.service @405ms +2ms└─auditd.service @381ms +24ms└─systemd-tmpfiles-setup.service @376ms +4ms└─local-fs.target @375ms└─local-fs-pre.target @299ms└─lvm2-monitor.service @140ms +158ms└─lvm2-lvmetad.service @162ms└─lvm2-lvmetad.socket @138ms└─-.slice
systemd-analyze plot Output SVG graphic showing service initialization
systemd-analyze plot > ~/plot.svg

导出的 svg 文件复制到本地电脑上就可以直接用浏览器打开看了

在这里插入图片描述


http://www.ppmy.cn/ops/108282.html

相关文章

【Vue】关于Vue3的生命周期

目录 Vue3中新增了一个setup生命周期函数:(1) setup执行的时机是在beforeCreate生命周期函数之前执行,在setup函数中是不能通过this来获取实例的;(2) 为了命名的统一性,将beforeDestroy 改名为 beforeUnmount,destroye…

《粮食科技与经济》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《粮食科技与经济》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《粮食科技与经济》级别? 答:省级。主管单位: 湖南省粮食和物资储备局 …

java直接实例化对象和使用接口实例化对象之间的区别(java小知识点)

文章目录 1.定义一个MyClass类和一个 MyInterface接口2.具体使用场景3.如何调用 MyClass 自己的特有方法?4.总结 1.定义一个MyClass类和一个 MyInterface接口 public interface MyInterface {void doSomething(); // 权限修饰符默认是public }public class MyClass…

信也科技基于 Apache SeaTunnel金融场景的应用实践探索

前言 作者:朱俊,信也科技,数据开发专家 离线开发一直是数据仓库建设中重要的一个环节。信也科技之前基于Azkaban构建了离线任务调度与开发平台,承载了公司90%以上的离线任务调度需求,以及玄策变量平台的每日变量跑批产…

力扣题解2181

大家好,欢迎来到无限大的频道,有些日子没更新了(其实是因为懒) 言归正传,开始分享今日的题解。 题目描述: 合并零之间的节点 给一个链表的头节点 head ,该链表包含由 0 分隔开的一连串整数。…

物联网之ESP32配网方式、蓝牙、WiFi

MENU 前言SmartConfig(智能配网)AP模式(Access Point模式)蓝牙配网Web Server模式WPS配网(Wi-Fi Protected Setup)Provisioning(配网服务)静态配置(硬编码)总结 前言 ESP32配网(Wi-Fi配置)的方式有多种,每种方式都有各自的优缺点。 根据具体项目需求,可以…

Unity中使用四元数限制旋转

前言 在处理旋转相关的内容的时候,如果使用unity提供的欧拉角描述旋转,会出现一下两种问题 同一旋转的表示不唯一万向节死锁 绕轴90旋转与绕轴90+360旋转的表现是一致的 当某个特定轴达到某个特殊值时,绕一个轴旋转可能会覆盖另一…

Qt获取当前系统时间、系统时间戳

Qt获取当前系统时间、系统时间戳 一、获取当前系统时间二、获取系统时间戳三、QDateTime和QTime的其他知识点3.1. QDateTime3.2. QTime3.3. Qt时区处理3.4. Qt日期格式3.5. Qt时间间隔3.6. Qt闹钟和定时器在Qt框架中,获取当前系统时间和系统时间戳是一项常见的任务,通常可以通…