我试图了解为加快Ubuntu 16.04的启动速度而需要做的事情。我已经运行dmesg并将输出保存在这里。大约10秒钟后,一切似乎都出错了。
我试图了解为加快Ubuntu 16.04的启动速度而需要做的事情。我已经运行dmesg并将输出保存在这里。大约10秒钟后,一切似乎都出错了。
Answers:
编辑/ etc / fstab 交换空间的UUID(以匹配的输出sudo blkid
)就像一个魅力!
注意:之后,如果/etc/crypttab
文件中有任何交换条目,则应通过UUID或路径(即UUID = something或/ path / to / swap)更改其第二个参数以与交换空间匹配。
在我的SSD上,启动时间从2分钟缩短到不到10秒。
问题是,当这个问题开始时,我只是从14.04正常升级到16.04,没有弄乱分区。显然,升级过程存在一些问题。
升级后,我遇到了更长的启动时间的类似问题。
怎么了 我已经删除了交换空间,所以我的/ etc / fstab文件和新文件系统发生冲突。引导加载程序等待了将近1m 30s才能找到它。
我如何解决该问题 运行sudo blkid
打开/ etc / fstab文件,然后将uuid的匹配项与您拥有的分区进行比较。如果不匹配,请更改并重新启动。
dmesg
输出表明OP存在另一个问题。
这是一种解决方法,但是这大大减少了我的启动时间(从1分钟24s减少到16s)。
sudo vim /etc/systemd/system.conf
取消注释这两个参数并设置所需的超时:
DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s
注意:请优化这些值以适合您的硬件需求〜5-60s。
如所讨论的在这里这些参数配置用于开始和单位停止,以及默认时间为单位的自动重新启动之间睡眠默认超时,作为配置的单位中TimeoutStartSec=
,TimeoutStopSec=
和RestartSec=
(对于服务,请参见systemd.service(5),用于有关每单位设置的详细信息)。
对于非服务单位,DefaultTimeoutStartSec=
设置默认值TimeoutSec= value
。DefaultTimeoutStartSec=
并DefaultTimeoutStopSec=
默认为90s。DefaultRestartSec=
默认为100毫秒。
编辑-更详细:
我分析了启动顺序systemd-analyze plot > sequence.svg
,结果表明服务无法在新升级的OS上启动。一共有三个,一个是配置错误的sendmail守护程序,然后是powerd.service和NetworkManager-wait-online.service。由于完全禁用NetworkManager服务不是一个好主意,所以我让它在10秒后超时,然后在全局应用此规则。
这可能与文件系统问题有关。您可能需要检查以下链接,以了解修复文件系统是否会缩短启动时间:https : //help.ubuntu.com/community/FilesystemTroubleshooting
根据您的pastebin输出,有几件事对我产生了影响:
EXT4-fs (sda5): re-mounted
和
[ 31.022220] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 45.720952] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 45.761548] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready