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

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

此外,在启动过程中,我看到一条类似的消息:

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。

答案1

这是Debian 错误 #844453. apt-daily.service不应在启动期间运行,而应在启动后的某个时间运行。

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

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

这会将触发的“计时器”更改为apt-daily.service在启动后 15 分钟到 45 分钟之间的随机时间运行,此后每天运行一次。请参阅systemd.timer 手册页以获得关于其含义的额外解释(可惜写得不是很好)。

答案2

另一个答案涉及问题中的第二段文字。

对我来说,为了解决apt-daily.service永远无法解决的问题,此 Ubuntu 论坛帖子似乎已经起作用了。

发出这些命令作为如何编辑的示例 /etc/systemd/system.conf

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

这将为安全提供后备。

gksudo gedit /etc/systemd/system.conf 

查找并更改以下两行:

#DefaultTimeoutStartSec=90s
#DefaultTimeoutStopSec=90s 

我的现在看起来像这样:

DefaultTimeoutStartSec=10s 
DefaultTimeoutStopSec=10s 

已经这样做了一年多了,没有发生任何不好的事情。

删除#禁用该行的前导 ,然后更改值。

答案3

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

否则,听起来就像是你的硬盘超时了。备份现在所有数据。

刻录 Ubuntu 的 Live 网络安装以适合您的系统,启动 Try Ubuntu。然后运行 ​​Gparted:默认情况下,它会检查硬盘读取错误。如果您备份了所有数据,也许其他人可以为您提供建议。

相关内容