使用systemd-analyze blame可定位开机慢的服务,按耗时排序显示各服务启动时间;结合critical-chain分析关键依赖路径,找出串联延迟的根源;通过plot生成SVG可视化启动流程图,查看服务时序与并行情况;最后禁用非必要服务如snapd.service,用systemctl disable --now关闭自启,重启验证优化效果。

如果您发现Linux系统启动速度较慢,想要定位具体是哪些服务拖慢了开机过程,可以通过systemd提供的分析工具来查看各个服务的启动耗时。以下是使用 systemd-analyze blame 命令进行系统启动时间分析的具体方法。
本文运行环境:Dell XPS 13,Ubuntu 22.04
该命令会列出所有在启动过程中加载的 systemd 单元(unit),并按其激活所花费的时间从长到短排序,帮助用户快速识别耗时较长的服务。
1、打开终端,输入以下命令并回车执行:
systemd-analyze blame
2、等待输出结果,每行将显示一个服务的启动耗时和对应的服务名称,例如:
5.234s NetworkManager-wait-online.service
2.100s snapd.service
3、根据输出内容判断是否存在异常耗时的服务,重点关注超过数秒的服务项。
该命令用于展示影响启动时间的关键依赖链,即从系统启动开始到默认目标完成之间最长的一条服务执行路径,有助于理解哪些服务串联式地延迟了整体启动过程。
1、在终端中运行以下命令:
systemd-analyze critical-chain
2、观察输出结构,通常以倒序方式显示服务链,最上面的是最后启动但耗时最长的部分。
3、注意每一级缩进代表依赖关系,可据此追溯上游服务是否配置不当或存在不必要的等待。
当需要更详细的时序信息时,可以生成 SVG 格式的启动流程图,图形化展示所有服务的启动顺序与时间分布。
1、执行以下命令将启动数据导出为 SVG 文件:
systemd-analyze plot > boot-time.svg
2、在文件管理器中找到生成的 boot-time.svg 文件,并使用浏览器或图像查看器打开。
3、通过图表分析并行启动情况以及服务间的空闲时间段,识别潜在瓶颈。
针对 identified 耗时高且非核心功能的服务,可以选择禁用或延迟其启动,从而优化整体开机性能。
1、确定要禁用的服务名,如 snapd.service。
2、执行以下命令停止并禁止该服务开机自启:
sudo systemctl disable --now 服务名
3、重启系统后再次运行 systemd-analyze blame 验证改进效果。
以上就是LINUX如何分析系统启动耗时_systemd-analyze blame命令的用法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号