Linux查看系统启动项及耗时 systemd-analyze用法

畫卷琴夢

畫卷琴夢

2026-04-21

320人浏览

原创

systemd-analyze 是所有主流 systemd 系统自带的唯一诊断工具,通过 time、blame、critical-chain 和 plot 四个子命令精准定位启动瓶颈:time 分阶段显示耗时,blame 列出实际启动的 unit 耗时,critical-chain 揭示最长依赖路径,plot 可视化并行与阻塞关系,需结合多次重启与上下游分析才能准确定因。

linux查看系统启动项及耗时 systemd-analyze用法

systemd-analyze 是唯一需要的工具,不用装额外包,所有 systemd 系统(Ubuntu 16.04+、CentOS 7+、Debian 9+、麒麟OS、统信UOS)都自带。它不查“开机启动项列表”,而是查「实际启动了哪些 unit 及各自耗时」——这才是定位慢启动的真实依据。

systemd-analyze time 看总耗时与阶段分布

直接反映从硬件上电到桌面就绪的完整链条,不是“服务数”,而是“时间在哪被吃掉”:

  • firmwareloader 阶段高,说明 BIOS/UEFI 设置、Secure Boot 或 GRUB 超时配置有问题
  • kernel 高,常见于内核参数不当(如 rd.driver.pre 加载顺序错)、驱动缺失或硬件自检卡住
  • initrd 高,多因加密卷解锁交互、LVM/RAID 设备扫描超时,或 initramfs 缺少必要模块(如 nvmedm-crypt
  • userspace 高,才是 service 层优化主战场;注意 graphical.target reached after 的值,它才是你感知到“桌面出来了”的真实耗时

systemd-analyze blame 找真正拖后腿的服务

它只列出「本次成功启动」的 unit,失败、跳过、被 mask 的都不会出现——别误以为没列出来就安全:

PyCharm 2026.2.0.1 Linux版
PyCharm 2026.2.0.1 Linux版

PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

下载
  • --no-pager 防止卡在 less:运行 systemd-analyze blame --no-pager
  • 重点关注耗时 ≥ 1s 的 .service,例如:NetworkManager-wait-online.service(等 DHCP 超时)、docker.service(镜像扫描)、plymouth-quit-wait.service(等待开机动画退出)
  • 也留意 .mount 单元,比如 /mnt/nfs.mount 耗时 8s,大概率是 fstab 里写了不可达 NFS 地址且没设 nofail,x-systemd.timeout=5
  • 某些服务含 RandomDelaySec=,单次结果波动大,建议重启 2–3 次再比对中位数

systemd-analyze critical-chain 锁定阻塞链路

一个服务自己快,但上游卡住,它也会被拖慢——critical-chain 显示的就是这条最长依赖路径,每级时间是「该 unit 自身启动耗时」,不包含上游:

  • 默认跑 systemd-analyze critical-chain,看是否落到 multi-user.target;图形界面用 systemd-analyze critical-chain graphical.target
  • 如果链条末端是 NetworkManager-wait-online.service,且它自身 blame 耗时仅 0.2s,但链条里显示 +6.7s,说明它前面的依赖(如 network-pre.target)在等网络通,而实际网络压根没配好
  • 某 service 显示 not found,代表它根本没加载——可能是被 systemctl maskWantedBy= 写错,或 unit 文件语法错误(可用 systemd-analyze verify xxx.service 检查)

systemd-analyze plot 生成 SVG 时间线图

文字命令看不清并行/串行关系?这张图能一眼揪出问题:

  • 必须重定向保存:systemd-analyze plot > boot.svg,然后用浏览器打开;终端直接执行只会刷一堆 XML
  • 图中横向长条越长,该 unit 实际运行越久;前方大片空白,说明它在等上游;多个条并排,说明它们是并行启动的
  • 若发现某个 .service 条块颜色异常(如黄色警告或红色失败),右键查看其属性可定位具体错误日志位置
  • Failed to get unit properties: Connection timed out,先运行 sudo systemctl restart systemd-journald 再试

真正容易被忽略的是:userspace 阶段里,blame 排名靠前的服务未必是根源,它可能只是“最后一个等的人”。关键得用 critical-chain 往上翻两层,看是谁在它前面卡住不动——比如 sshd.service 启动慢,往往不是 sshd 本身问题,而是它依赖的 systemd-tmpfiles-setup.service 因磁盘满或权限错卡死。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

2694

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

1672

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

1320

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

2675

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

2442

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

1680

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

1255

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

1444

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

210

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 128人学习