首页 > 运维 > linux运维 > 正文

Linux如何查看服务启动时间 systemd-analyze分析工具详解

P粉602998670
发布: 2025-07-13 10:59:02
原创
288人浏览过

systemd-analyze 是 linux 中用于查看系统启动耗时及分析服务启动性能的工具。运行 systemd-analyze 可查看总启动时间,如内核和用户空间各耗时多久;使用 systemd-analyze blame 可列出所有服务启动耗时,便于排查慢启动服务;结合 grep 可查特定服务(如 ssh.service)的启动时间;通过 journalctl -u 服务名 可查看服务详细日志;执行 systemd-analyze critical-chain 可分析关键服务依赖链,优化启动顺序;还可编写脚本配合 cron 定期记录启动性能,便于长期监控与问题对比分析。

Linux如何查看服务启动时间 systemd-analyze分析工具详解

Linux系统中,如果你用的是基于systemd的发行版(比如CentOS 7+、Ubuntu 16.04及以上),想知道某个服务是什么时候启动的,或者想分析系统整体启动性能,systemd-analyze 是一个非常实用的工具。

Linux如何查看服务启动时间 systemd-analyze分析工具详解

它不仅能查服务的启动时间,还能帮你找出拖慢开机速度的“罪魁祸首”。下面我们就从几个常见使用场景出发,看看怎么用好这个工具。

Linux如何查看服务启动时间 systemd-analyze分析工具详解

如何查看系统整体启动耗时

运行 systemd-analyze 不带任何参数,会输出系统本次启动的总体时间统计。例如:

Startup finished in 4s 200ms 100μs (kernel) + 6s 500ms 300μs (userspace) = 10s 700ms
登录后复制

这表示内核启动用了大约4秒,用户空间启动用了6秒多,总启动时间是10秒出头。

Linux如何查看服务启动时间 systemd-analyze分析工具详解

如果你想要更详细的时间线图示,可以加上 blame 子命令:

systemd-analyze blame
登录后复制

它会列出所有服务按启动时间排序,排在最前面的就是耗时最长的服务。这对排查开机慢的问题很有帮助。


查看特定服务的启动时间

想知道某个服务具体什么时候开始启动、用了多久,可以用 blame 结合 grep 来过滤,例如:

systemd-analyze blame | grep ssh
登录后复制

你可能会看到类似这样的输出:

  800ms ssh.service
登录后复制

说明这个服务花了800毫秒才完成启动。

如果你需要更详细的日志信息,也可以结合 journalctl 使用:

journalctl -u ssh.service --since "1 hour ago"
登录后复制

这样就能看到最近一小时内的服务日志,包括启动和停止时间点。


分析服务之间的依赖关系

systemd-analyze 还有个 critical-chain 命令,可以用来查看关键路径上的服务依赖链。执行:

systemd-analyze critical-chain
登录后复制

它会显示一条影响整体启动时间的关键服务链,比如:

graphical.target @10s
└─multi-user.target @10s
  └─sshd.service @9s 500ms +500ms
    └─network.target @9s 500ms
      └─NetworkManager-wait-online.service @8s +1s
登录后复制

可以看到每个服务的启动时间和持续时间,以及它们之间的依赖关系。这对于优化启动顺序、减少串行等待非常有帮助。


小技巧:定期检查系统启动表现

你可以设置一个定时任务,每周记录一次系统的启动时间和服务耗时情况。比如写个脚本:

#!/bin/bash
LOGFILE="/var/log/boot_time.log"
echo "=== $(date) ===" >> $LOGFILE
systemd-analyze >> $LOGFILE
systemd-analyze blame | head -20 >> $LOGFILE
登录后复制

然后通过 cron 定期执行,就可以长期监控系统的启动性能变化了。

另外,如果发现某次更新后开机变慢,可以通过对比前后的 blame 输出,快速定位问题源头。


基本上就这些,systemd-analyze 虽然看起来简单,但用好了能解决不少实际问题,特别是在服务器调优和故障排查时特别有用。

以上就是Linux如何查看服务启动时间 systemd-analyze分析工具详解的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号