Ubuntu 16.04 LTS 启动缓慢

Ubuntu 16.04 LTS 启动缓慢

升级到 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 随后被放弃。

相关内容