使用 systemd-analyze 命令在 Linux 中查找系统启动性能统计信息
如果您的 Linux 系统启动时间过长,而您想知道哪个进程启动时间过长,那么您来对地方了。我们将了解如何全面了解系统启动时间以及哪些服务需要更多时间来初始化。
我们将使用systemd-analyze 命令和 systemd-analyze 的子命令来查看统计信息并从系统和服务管理器中检索其他状态和跟踪信息。要查看引导时内核和用户空间所用时间等信息,请使用简单的 systemd-analyze 命令。
systemd-analyze
要查看按各个进程初始化所用时间排序的所有正在运行的服务的列表,请使用blame sub 命令。运行进程后使用[ENTER]键查看更多服务并使用q退出。
systemd-analyze blame
我们可以在上面的输出中看到所有服务都按照初始化所花费的时间降序排列。我们还看到哪个进程花费的时间最长。
以树状结构查看带有初始化时间的服务或单元列表 我们将使用关键链子命令。
systemd-analyze critical-chain
现在让我们看看 systemd-analyze 的另一个子命令,它允许我们生成图形(SVG 格式),其中包含服务启动所需的初始化时间等详细信息。
确保您已经在 Linux 系统上安装了 gpicview。您可以通过以下命令简单地安装它:
sudo apt install gpicview
systemd-analyze命令的plot子命令的使用
systemd-analyze plot > boot_stat.svg
gpicview boot_stat.svg
您可以使用ctrl和+键缩放输出。
要通过 ssh查看来自远程主机的信息,请使用-H标志并指定 username@host。这是示例:
systemd-analyze time -H gfg@192.168.1.110
systemd-analyze blame -H gfg@192.168.56.165
systemd-analyze critical-chain -H gfg@192.168.1.178
要了解有关 systemd-analyze 的更多信息,请使用以下命令查看 systemd-analyze 的手册页。
man systemd-analyze