你的 Linux 系统开机时间已经击败了 99% 的电脑

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

你的 Linux 系统开机时间已经击败了 99% 的电脑

你检查过这花费了多长时间么?也许没有。除非你真的需要知道,否则你不会在意开机时间。

但是如果你很想知道你的 Linux 系统需要很长时间才能启动完成呢?使用秒表是一种方法,但在 Linux 中,你有一种更好、更轻松地了解系统启动时间的方法。

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

无论你是否喜欢,systemd 运行在大多数流行的 Linux 发行版中。systemd 有许多管理 Linux 系统的工具。其中一个就是 systemd-analyze。

systemd-analyze 命令为你提供最近一次启动时运行的服务数量以及消耗时间的详细信息。

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

  1. systemd-analyze 

你将获得总启动时间以及固件、引导加载程序、内核和用户空间所消耗的时间:

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

正如你在上面的输出中所看到的,我的系统花了大约 35 秒才进入可以输入密码的页面。我正在使用戴尔 XPS Ubuntu。它使用 SSD 存储,尽管如此,它还需要很长时间才能启动。

不是那么令人印象深刻,是吗?为什么不共享你们系统的启动时间?我们来比较吧。

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

  1. systemd-analyze blame 

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

  1. 7.347s plymouth-quit-wait.service 
  2. 6.198s NetworkManager-wait-online.service 
  3. 3.602s plymouth-start.service 
  4. 3.271s plymouth-read-write.service 
  5. 2.120s apparmor.service 
  6. 1.503s [email protected] 
  7. 1.213s motd-news.service 
  8.  908ms snapd.service 
  9.  861ms keyboard-setup.service 
  10.  739ms fwupd.service 
  11.  702ms bolt.service 
  12.  672ms dev-nvme0n1p3.device 
  13.  608ms [email protected]:intel_backlight.service 
  14.  539ms snap-core-7270.mount 
  15.  504ms snap-midori-451.mount 
  16.  463ms snap-screencloud-1.mount 
  17.  446ms snapd.seeded.service 
  18.  440ms snap-gtk\x2dcommon\x2dthemes-1313.mount 
  19.  420ms snap-core18-1066.mount 
  20.  416ms snap-scrcpy-133.mount 
  21.  412ms snap-gnome\x2dcharacters-296.mount 

额外提示:改善启动时间

如果查看此输出,你可以看到网络管理器和 plymouth 都消耗了大量的启动时间。

Plymouth 负责你在 Ubuntu 和其他发行版中在登录页面出现之前的引导页面。网络管理器负责互联网连接,可以关闭它来加快启动时间。不要担心,在你登录后,你可以正常使用 wifi。

  1. sudo systemctl disable NetworkManager-wait-online.service 

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

  1. sudo systemctl enable NetworkManager-wait-online.service 

相关推荐