升级到 Ubuntu 16.04 LTS 后,我注意到与 14.04 相比,它的启动速度明显变慢。是否可以在不大量重新配置各种服务和系统设置的情况下解决此问题? 14.04 启动速度更快,无需应用其他更改。下面是systemd-analyze blame
输出。
24.731s apt-daily.service
15.651s grub-common.service
15.387s networking.service
15.273s ondemand.service
11.437s dev-sda3.device
11.226s irqbalance.service
11.015s apport.service
9.972s NetworkManager.service
9.001s accounts-daemon.service
8.886s apparmor.service
8.698s ModemManager.service
7.709s lightdm.service
7.216s thermald.service
6.287s NetworkManager-wait-online.service
5.351s polkitd.service
5.047s systemd-tmpfiles-setup.service
4.308s systemd-user-sessions.service
3.851s console-setup.service
3.491s gpu-manager.service
2.704s rsyslog.service
2.187s systemd-backlight@backlight:intel_backlight.service
2.067s plymouth-start.service
1.931s bluetooth.service
1.905s systemd-udevd.service
1.398s avahi-daemon.service
1.370s systemd-tmpfiles-setup-dev.service
1.143s systemd-modules-load.service
1.040s resolvconf.service
1.013s dev-disk-by\x2duuid-b6b1a8eb\x2d15a0\x2d4f95\x2da7d4\x2df5291de0b7a8.swap
851ms systemd-journald.service
734ms udisks2.service
651ms upower.service
644ms iio-sensor-proxy.service
625ms alsa-restore.service
619ms systemd-logind.service
615ms keyboard-setup.service
536ms colord.service
495ms dns-clean.service
这是/var/log/boot.log输出。
答案1
我实际上一直想知道 Ubuntu 是如何处理这个问题的。现在你来问了,看来他们没有。
从计时来看,我假设您有一个硬盘驱动器,而不是一个快速的 SSD。
我们还可以看到您正在使用systemd
.某些版本systemd
包含“预读”解决方案,但现在不再包含了。看起来您没有(查看列表blame
)。
最大限度地减少硬盘驱动器上的启动需要仔细地预读取文件。比如一次读取整个文件,避免不同文件的交错读取……重点是尽量减少机械驱动头缓慢移动的次数。实施读头显着改善了 Ubuntu 在传统硬盘上的启动时间。
Ubuntu 14.04默认使用upstart,对吗?当 Ubuntu 从 upstart 转向 systemd 时,他们实际上放弃了“ureadahead”服务,转而使用 systemd-readahead。
由于开发人员缺乏兴趣(即承认他们都有不错的快速 SSD:),systemd-readahead 随后被放弃。