如何在Ubuntu 16.04上加速真正慢启动?
我试图了解我需要做什么来加快我的Ubuntu 16.04启动。 我已经运行了dmesg并将输出保存在这里 。 大约10秒后,这一切似乎都出错了。
您可以尝试找出systemd花费最多时间的内容
systemd-analyze blame
编辑/ etc / fstab的交换空间的UUID (以匹配sudo blkid
的输出)就像一个魅力!
注意 :在此之后,如果/etc/crypttab
文件中有任何交换条目,您应该通过UUID或路径更改其第二个参数以匹配交换空间(即UUID = something或/ path / to / swap)。
在我的SSD上,启动从2分钟下降到不到10秒。
问题是,当这个问题开始时,我刚刚从14.04升级到16.04正常升级,没有乱码。 显然,升级过程存在一些问题。
这是一种解决方案,但这大大缩短了我的启动时间(从1分24秒到16秒)。
sudo vim /etc/systemd/system.conf
取消注释这两个参数并设置所需的超时:
DefaultTimeoutStartSec=10s DefaultTimeoutStopSec=10s
注意:请优化这些值以满足您的硬件需求~5 – 60s。
如此处所述,这些参数配置单元启动和停止的默认超时,以及自动重启单元之间的默认hibernate时间,如TimeoutStartSec=
, TimeoutStopSec=
和RestartSec=
每单位配置(对于服务,请参阅systemd) .service(5)有关每单位设置的详细信息)。
对于非服务单元, DefaultTimeoutStartSec=
设置默认的TimeoutSec= value
。 DefaultTimeoutStartSec=
和DefaultTimeoutStopSec=
默认为90秒。 DefaultRestartSec=
默认为100毫秒。
编辑 – 更详细:
我用systemd-analyze plot > sequence.svg
分析了启动顺序,显示服务无法在我刚刚升级的操作系统上启动。 有三个 – 一个是错误配置的sendmail守护进程然后是powerd.service和NetworkManager-wait-online.service 。 由于完全禁用NetworkManager服务并不是一个好主意,所以我只是让它在10秒后超时并全局应用此规则。
我在升级后遇到类似的更长启动时间的问题。
有什么问题? 我删除了我的交换空间,所以我的/ etc / fstab文件和新文件系统有冲突。 Boot loader等待将近1m 30秒才能找到它。
我是如何解决问题的。运行sudo blkid
打开/ etc / fstab文件,将uuid的匹配与您拥有的分区进行比较。 如果存在不匹配的更改并重新启动。
这可能与文件系统问题有关。 您可能需要查看此链接以查看修复文件系统是否可以缩短启动时间: https : //help.ubuntu.com/community/FilesystemTroubleshooting
我遇到了类似的问题:我在SSD上运行Ubuntu 16.04。 我使用闪存驱动器作为交换分区。 驱动器意外被轻微移动,启动时间超过3分钟。 我把它正确地放了回来,现在一切都很好。 如果您尝试使用smartctl或fsck且文件系统正常,请尝试删除闪存驱动器(或其他外围设备?)并查看其运行情况。 祝好运!
根据你的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
如果您的连接不支持,您可以尝试在网络连接上禁用IPV6 。
关注user536489的提示:
系统分析责任
检查是否有一个服务需要很长时间才能启动并设置较低的超时:
sudo vim /lib/systemd/system/networking.service
将TimeoutStartSec
更改为10s
。 手册页状态以秒为单位获取无单位值,或以“5分20秒”为单位的时间跨度值。 传递“无穷大”以禁用超时逻辑。