> 软件包与系统管理 > systemd-analyze

systemd-analyze: 系统启动和服务分析

systemd-analyze 是一个强大的工具,用于分析和调试基于 systemd 的系统的启动时间和各个服务的启动时间。它有助于优化系统性能。

概述

systemd-analyze 帮助系统管理员识别系统启动过程中的瓶颈,并测量每个服务对启动的贡献时间,从而诊断和解决性能问题。

主要功能

  • 测量总启动时间
  • 分析单个服务和单元的启动时间
  • 识别对启动影响最大的“关键链”
  • 可视化启动过程(SVG、DOT 图)
  • 验证 systemd 单元文件

主要选项

与 systemd-analyze 命令一起使用的主要选项。

启动时间分析

可视化和调试

生成的命令:

请尝试组合命令。

描述:

`systemd-analyze` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

systemd-analyze 命令的各种用法示例。

检查总启动时间

systemd-analyze

检查系统的总启动时间。

检查按服务排序的启动时间

systemd-analyze blame

按降序显示每个服务启动所花费的时间。

分析启动关键链

systemd-analyze critical-chain

检查对启动完成影响最大的单元的依赖链。

可视化启动时间(SVG)

systemd-analyze plot > boot.svg

以 SVG 格式生成启动过程的图形,并将其保存为 'boot.svg' 文件。可以在 Web 浏览器中打开此文件。

验证单元文件

systemd-analyze verify /etc/systemd/system/my-custom.service

检查指定的 systemd 单元文件的语法错误或配置错误。

提示与注意事项

使用 systemd-analyze 时有用的提示和注意事项。

安装 Graphviz

要使用 plot 或 dot 选项生成可视化图形,需要安装 Graphviz 软件包。

  • Debian/Ubuntu: sudo apt install graphviz
  • CentOS/RHEL: sudo yum install graphviz

解释 blame 结果

systemd-analyze blame 的结果显示每个单元“启动所花费的时间”,但由于 systemd 会并行启动许多服务,因此不能简单地断定耗时最长的服务就是启动延迟的原因。与 critical-chain 一起分析会更准确。

启动优化

通过 critical-chain 识别的单元,可以移除不必要的依赖关系,或更改服务启动类型(例如,按需启动),以缩短启动时间。


相同类别命令