systemd-analyze 是 linux 下用于分析系统启动性能的工具,运行 systemd-analyze 可查看总启动时间,输出如 “startup finished in 3.2s (kernel) + 8.7s (userspace) = 11.9s”;使用 systemd-analyze blame 可列出各服务启动耗时并按时间排序,便于发现拖慢启动的服务;执行 systemd-analyze plot > boot_time.svg 可生成可视化启动时间线图;通过 systemd-analyze critical-chain 可查看关键节点和依赖关系,帮助定位影响整体启动速度的核心环节。
系统启动慢?想知道自己电脑开机用了多久,或者哪个服务拖了后腿?systemd-analyze 是 Linux 下一个非常实用的工具,能帮你快速查看系统启动时间、各服务加载顺序和耗时情况。不需要额外安装,大多数基于 systemd 的发行版都自带这个命令。
下面介绍几个常用方法,让你轻松掌握系统的启动性能。
运行以下命令就能看到整个系统的启动时间:
systemd-analyze
输出结果大概是这样的:
Startup finished in 3.2s (kernel) + 8.7s (userspace) = 11.9s
这行信息告诉你:
如果你只是想知道“这次开机花了多久”,这个命令就够用了。
想知道哪个服务最拖沓?用这个命令:
systemd-analyze blame
它会列出所有服务的启动耗时,并从高到低排序,比如:
2.123s some-service.service 1.234s another-service.service ...
这样一眼就能看出哪些服务在“磨蹭”。常见比较耗时的服务包括网络管理、图形界面、数据库等。
小提示:如果某个服务特别慢,可以进一步用 journalctl 看它的日志,查具体卡在哪一步。
更直观的方式是生成一个可视化图表:
systemd-analyze plot > boot_time.svg
这个命令会把整个启动过程绘制成 SVG 图片(保存为 boot_time.svg),你可以在浏览器中打开查看。
图中每一条横线代表一个服务,越长表示耗时越多,还能看到它们之间的依赖关系和并行执行情况。
除了服务本身的耗时,你还可以查看系统各个“里程碑”(target)的完成时间:
systemd-analyze critical-chain
输出类似这样:
The time after the unit is started, until startup is finished: graphical.target reached after 8.7s in userspace └─multi-user.target reached after 8.6s in userspace └─network-online.target reached after 5.4s in userspace └─NetworkManager-wait-online.service reached after 5.4s
这能帮助你理解整个启动流程的关键路径,找出影响整体速度的核心环节。
基本上就这些。掌握了这几个命令,你可以很轻松地分析 Linux 系统的启动性能,排查慢启动问题也更有方向。不复杂但容易忽略的是,有时候并不是服务本身慢,而是它所依赖的其他服务拖慢了整体进度,这时候 critical-chain 就派上用场了。
以上就是如何查看Linux服务启动时间 systemd-analyze性能分析的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号