Linux启动耗时优化

Linux启动很慢,查询各服务的启动耗时,可以使用如下命令:

systemd-analyze blame

发现耗时最长的是NetworkManager-wait-online.service,通常此服务是等待所有网络接口都获取到IP,或者120秒超时。

可以编辑/usr/lib/systemd/system/systemd-networkd-wait-online.service,修改为只要一个网络接口OK,就进行下一步:

ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any

或者改为缩短超时时长:

ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any --timeout=50

特别注意:

桌面系统通常使用NetworkManager-wait-online服务进行管理,它并不支持--any参数,而服务系统使用systemd-networkd-wait-online,才支持--any参数,所以需要切换管理网络的服务:

sudo systemctl disable NetworkManager-wait-online.service
sudo systemctl enable systemd-networkd-wait-online.service

另外,--any参数要生效,还需要将网络接口纳入管理,查看网络接口的管理状态,可通过命令 networkctl list 查询。

需要纳入管理的接口,需参加配置文件,如创建 /etc/systemd/network/20-enP4p65s0.network,其内容为:

[Match]
Name=enP4p65s0

[Network]
DHCP=ipv4

使用如下命令使生效:

sudo systemctl restart systemd-networkd

 

发表于 5天前   修改于 1天前   评论:0   阅读:87  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo