了解启动 Linux 系统需要多长时间

当您打开系统电源时,您会等待制造商的徽标出现,屏幕上可能会出现一些消息(以不安全模式启动), 蛴螬 屏幕,操作系统加载屏幕,最后是登录屏幕。

你查了用了多长时间? 也许不是。 除非您真的需要知道,否则您不会担心启动时间的详细信息。

但是,如果您想知道您的 Linux 系统启动需要多长时间怎么办? 运行秒表是找到它的一种方法,但在 Linux 中,您有更好、更简单的方法来找出系统的启动时间。

使用 systemd-analyze 检查 Linux 中的启动时间

不管喜不喜欢, 系统 在大多数流行的 Linux 发行版上运行。 systemd 有许多实用程序来管理您的 Linux 系统。 其中一个实用程序是 systemd-analyze。

systemd-analyze 命令为您提供有关上次启动时运行了多少服务以及它们花费了多长时间的详细信息。

如果您在终端中运行以下命令:

systemd-analyze

您将获得总启动时间以及固件、启动加载程序、内核和用户空间所花费的时间:

Startup finished in 7.275s (firmware) + 13.136s (loader) + 2.803s (kernel) + 12.488s (userspace) = 35.704s
graphical.target reached after 12.408s in userspace

正如您在上面的输出中看到的那样,我的系统大约需要 35 秒才能到达可以输入密码的屏幕。 我正在使用戴尔 XPS Ubuntu 版本。 它使用 SSD 存储,尽管如此,它还是需要很长时间才能启动。

没有那么令人印象深刻,是吗? 为什么不分享系统的启动时间? 让我们比较一下。

您可以使用以下命令将启动时间进一步细分为每个单元:

 systemd-analyze blame

这将产生巨大的输出,所有服务按所用时间的降序排列。

      7.347s plymouth-quit-wait.service       6.198s NetworkManager-wait-online.service       3.602s plymouth-start.service       3.271s plymouth-read-write.service       2.120s apparmor.service       1.503s [email protected]       1.213s motd-news.service        908ms snapd.service        861ms keyboard-setup.service        739ms fwupd.service        702ms bolt.service        672ms dev-nvme0n1p3.device        608ms [email protected]:intel_backlight.service        539ms snap-core-7270.mount        504ms snap-midori-451.mount        463ms snap-screencloud-1.mount        446ms snapd.seeded.service        440ms snap-gtkx2dcommonx2dthemes-1313.mount        420ms snap-core18-1066.mount        416ms snap-scrcpy-133.mount        412ms snap-gnomex2dcharacters-296.mount

请记住,这些服务是并行运行的。

额外提示:改善启动时间

如果查看此输出,您可以看到网络管理器和 普利茅斯 花费大量的启动时间。

Plymouth 负责您在 Ubuntu 和其他发行版中的登录屏幕之前看到的启动启动屏幕。 网络管理器负责互联网连接,可能会关闭以加快启动时间。 不用担心,一旦你登录,你就会有 wifi 正常工作。

sudo systemctl disable NetworkManager-wait-online.service

如果要还原更改,可以使用以下命令:

sudo systemctl enable NetworkManager-wait-online.service

现在,请不要在不知道其用途的情况下自行禁用各种服务。 它可能会产生危险的后果。

同样,您也可以使用 systemd 来调查为什么您的 Linux 系统需要很长时间才能关闭。

既然您知道如何检查您的 Linux 系统的启动时间,何不在评论区分享您系统的启动时间呢?