当你打开系统电源时,你会等待制造商的徽标出现,屏幕上可能会显示一些消息(以非安全模式启动),然后是 Grub 屏幕、操作系统加载屏幕以及最后的登录屏。
你检查过这花费了多长时间么?也许没有。除非你真的需要知道,否则你不会在意开机时间。
但是如果你很想知道你的 Linux 系统需要很长时间才能启动完成呢?使用秒表是一种方法,但在 Linux 中,你有一种更好、更轻松地了解系统启动时间的方法。
在 Linux 中使用 systemd-analyze 检查启动时间
无论你是否喜欢,systemd 运行在大多数流行的 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
1.213s motd-news.service
908ms snapd.service
861ms keyboard-setup.service
739ms fwupd.service
702ms bolt.service
672ms dev-nvme0n1p3.device
608ms :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 都消耗了大量的启动时间。
Plymouth 负责你在 Ubuntu 和其他发行版中在登录页面出现之前的引导页面。网络管理器负责互联网连接,可以关闭它来加快启动时间。不要担心,在你登录后,你可以正常使用 wifi。
sudo systemctl disable NetworkManager-wait-online.service
如果要还原更改,可以使用以下命令:
sudo systemctl enable NetworkManager-wait-online.service
请不要在不知道用途的情况下自行禁用各种服务。这可能会产生危险的后果。
现在你知道了如何检查 Linux 系统的启动时间,为什么不在评论栏分享你的系统的启动时间?
via: https://itsfoss.com/check-boot-time-linux/
作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy
启动的可能有点久,因为用的是虚拟机Cent OS
我的启动时间55s
henghai@debian:~$ systemd-analyze blame
25.007s man-db.service
18.553s docker.service
10.776s apt-daily.service
10.085s snapd.service
9.087s ModemManager.service
7.993s logrotate.service
7.848s udisks2.service
7.562s NetworkManager-wait-online.service
6.875s nginx.service
6.664s accounts-daemon.service
4.237s networking.service
4.234s snapd.seeded.service
4.204s avahi-daemon.service
4.190s lvm2-lvmpolld.service
4.009s vboxdrv.service
4.005s rsyslog.service
3.989s systemd-logind.service
debian10:
9.244s plymouth-quit-wait.service
3.499s docker.service
3.336s mysqld.service
3.045s vmware-tools.service
2.559s apt-daily.service
2.174s vmware-tools-thinprint.service
2.147s man-db.service
1.666s dev-sda1.device
1.462s apt-daily-upgrade.service
1.054s udisks2.service
938ms NetworkManager-wait-online.service
798ms logrotate.service
616ms apache2.service
~ systemd-analyze blame
1.701s man-db.service
1.102s lvm2-monitor.service
961ms dev-sdb2.device
591ms systemd-udevd.service
562ms systemd-journald.service
524ms systemd-logind.service
163ms ldconfig.service
143ms systemd-udev-trigger.service
83ms systemd-journal-flush.service
77ms NetworkManager.service
74ms user@1000.service
70ms systemd-rfkill.service
ArchLinux 系统,用的 DWM 窗口管理器,启动 7 秒多点。
$ systemd-analyze
Startup finished in 3.421s (kernel) + 3.697s (userspace) = 7.118s
graphical.target reached after 3.694s in userspace
$ systemd-analyze blame
2.024s lvm2-monitor.service
1.326s dev-sdb2.device
998ms systemd-logind.service
417ms systemd-udevd.service
366ms systemd-journald.service
236ms systemd-udev-trigger.service
164ms dhcpcd.service
111ms systemd-remount-fs.service
94ms sys-kernel-config.mount
84ms systemd-random-seed.service
75ms systemd-sysctl.service
67ms systemd-tmpfiles-setup-dev.service
66ms user@1000.service
47ms dev-mqueue.mount
41ms kmod-static-nodes.service
33ms systemd-tmpfiles-setup.service
32ms systemd-journal-flush.service
29ms sys-kernel-debug.mount
28ms dev-hugepages.mount
24ms tmp.mount
14ms systemd-tmpfiles-clean.service
13ms systemd-update-utmp.service
12ms user-runtime-dir@1000.service
8ms systemd-user-sessions.service
5ms home-zp-.cache.mount
4ms var-cache.mount
HQLM。
_,met$$$$$gg. chenghai@debian
,g$$$$$$$$$$$$$$$P. ---------------
,g$$P" """Y$$.". OS: Debian GNU/Linux 10 (buster) x86_64
,$$P' `$$$. Host: B250-HD3
',$$P ,ggs. `$$b: Kernel: 4.19.0-8-amd64
`d$$' ,$P"' . $$$ Uptime: 22 mins
$$P d$' , $$P Packages: 3363 (dpkg), 7 (snap)
$$: $$. - ,d$$' Shell: bash 5.0.3
$$; Y$b._ _,d$P' Resolution: 1152x864, 1600x900
Y$$. `.`"Y$$$$P"'
systemd-analyze blame
40.204s man-db.service
23.052s snapd.seeded.service
15.840s snapd.service
14.419s apt-daily.service
13.762s logrotate.service
12.291s NetworkManager-wait-online.service
11.848s ModemManager.service
10.885s udisks2.service
7.236s accounts-daemon.service
5.869s avahi-daemon.service
5.769s lvm2-lvmpolld.service
5.703s NetworkManager.service
5.503s wpa_supplicant.service
5.499s systemd-logind.service
5.498s lm-sensors.service
5.492s rsyslog.service
5.440s alsa-restore.service
5.435s vboxdrv.service
5.433s pppd-dns.service
4.419s teamviewerd.service
3.675s dev-sda1.device
3.614s systemd-tmpfiles-setup.service
3.518s colord.service
什么情况?
systemd-analyze time ✔ 19:12:04
Startup finished in 6.309s (firmware) + 513ms (loader) + 2.471s (kernel) + 3.066s (userspace) = 12.360s
graphical.target reached after 3.065s in userspace.
~ systemd-analyze blame ✔ 19:12:10
753ms dev-nvme0n1p3.device
605ms home-sirius-storage.mount
332ms systemd-tmpfiles-setup.service
328ms systemd-udev-trigger.service
5min 160ms archlinux-keyring-wkd-sync.service
6.373s NetworkManager-wait-online.service
1.476s updatedb.service
794ms dev-nvme1n1p2.device
671ms accounts-daemon.service
546ms mysqld.service
300ms boot.mount
282ms systemd-udev-trigger.service
243ms systemd-remount-fs.service
213ms systemd-modules-load.service
167ms user@1000.service
157ms systemd-vconsole-setup.service
150ms systemd-tmpfiles-setup-dev.service
145ms modprobe@fuse.servi