当前位置: 首页>>技术教程>>正文


Ubuntu 16.04 启动缓慢(apt-daily.service)

, , , ,

问题描述

我的启动速度非常慢,我不知道为什么。

$ systemd-analyze 
Startup finished in 10.975s (kernel) + 49.732s (userspace) = 1min 708ms
$ systemd-analyze blame 
         34.971s apt-daily.service
         20.590s snapd.refresh.service
         17.113s grub-common.service
         16.033s apport.service
         16.027s networking.service
         15.894s ondemand.service
         15.860s irqbalance.service
         15.655s speech-dispatcher.service
         11.695s ModemManager.service
          9.772s accounts-daemon.service
          8.626s NetworkManager-wait-online.service
          8.058s systemd-logind.service
          8.053s bluetooth.service
          7.944s gpu-manager.service
          7.896s alsa-restore.service
          7.892s pppd-dns.service
          7.882s rsyslog.service
          7.860s avahi-daemon.service
          7.844s dev-sda1.device
          7.842s systemd-user-sessions.service
          7.648s lightdm.service
          7.610s teamviewerd.service
          6.445s apparmor.service

另外,在 boot-up 期间,我看到一条消息,内容如下:

device descriptor read/all, error -62
ata1 softreset failed (device not ready) #most of the times
error loading journal #(sometimes)
Test WP failed, assume Write Enabled
Asking for cache data failed     #most of the times
Assuming drive cache: write through

apt-daily.service 启动速度最慢。关于如何解决这个问题有什么想法吗?

我有 Ubuntu MATE 16.04。

最佳回答

这是 Debian bug #844453apt-daily.service 不应在启动期间运行,而只能在启动后一段时间运行。

作为解决方法,请执行 sudo systemctl edit apt-daily.timer 并将以下文本粘贴到编辑器窗口中:

# apt-daily timer configuration override
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
AccuracySec=1h
RandomizedDelaySec=30min

这会更改 “timer”,触发 apt-daily.service 在启动后 15 分钟到 45 分钟之间的随机时间运行,此后每天运行一次。请参阅 systemd.timer manpage 了解这意味着什么的附加(写得不是很好)解释。

次佳回答

另一个答案解决了问题中的第二个文本块。

对我来说,要解决 apt-daily.service 永远需要的问题,this Ubuntu Forums post 似乎有效。

\\n

issue these commands as an example of how to edit\\n /etc/systemd/system.conf

\\n

sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.bak \\n

\\n

That will make a back-up for safety.

\\n

gksudo gedit /etc/systemd/system.conf \\n

\\n

Look for and change these 2 lines:

\\n

#DefaultTimeoutStartSec=90s\\n#DefaultTimeoutStopSec=90s \\n

\\n

Mine now look like this:

\\n

DefaultTimeoutStartSec=10s \\nDefaultTimeoutStopSec=10s \\n

\\n

Been doing that for year now and nothing bad has come of it.

\\n

删除禁用该行的前导 # 并更改值。

第三种回答

如果是台式机,请打开它并断开连接,然后重新连接所有 HDD 电缆(包括 MB)。

如果做不到这一点,听起来你的硬盘超时了。立即备份所有数据。

刻录 Ubuntu 的实时网络安装来适应您的系统,引导至尝试 Ubuntu。然后运行 ​​Gparted:默认情况下它会检查 HDD 读取错误。如果您有所有数据的备份,也许其他人可以提供建议。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13713.html,未经允许,请勿转载。