15.10 升级后,NetworkManager 占用了 30% 的 CPU 资源。

刚刚将第三代联想Carbon X1从15.04升级到15.10,我注意到CPU使用率上升了。
/usr/sbin/NetworkManager一直占用约35%的CPU,而/lib/systemd/systemd-journald似乎在NetworkManager启动时增加(停止时减少)。
关闭无线适配器没有任何效果。关闭蓝牙也没有任何效果。没有连接局域网。
停止该服务可以解决问题,但这不是一个可行的选项。
3个回答

原来我有一个自定义配置文件。

/etc/NetworkManager/dnsmasq.d/local

只有一行

cache-size=300

当我删除了这个文件(进行实验),网络管理器立即停止使用CPU并恢复正常。问题似乎已经解决。


这真是一种魔法!... - o9000
我在升级到15.10之后遇到了同样的问题。我有一个空的目录/etc/NetworkManager/dnsmasq.d/。 - HongboZhu
@HongboZhu 我也是。 - joar
@洪波朱 我的问题是NM试图在127.0.1.1:53上启动dnsmasq,但是该端口已被"dnsmasq.service"占用。对我来说解决方案是sudo systemctl disable dnsmasq.service - joar
@joar 谢谢你提供的信息。但是对我没有帮助 :(. 我的电脑仍然有一个占用大约17% CPU 的进程在运行。禁用无线网络可以减轻CPU的使用率。有趣的是,重新启用无线网络从来都不起作用。必须要重启电脑才能解决问题。 - HongboZhu
@HongboZhu 请检查sudo systemctl status NetworkManager命令的日志记录。 - joar
@joar 在CGroup中:我仍然看到:/usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/run/sendsigs.omit.d/network-manager.dnsmasq.pid --... IP地址可以成功ping通,但没有DNS服务。 - HongboZhu
我通过在/etc/NetworkManager/NetworkManager.conf中注释掉dnsmasq来解决了这个问题。 - HongboZhu

我遇到了类似的问题。另一个症状是,如果我暂停系统,然后从暂停中唤醒后,DNS无法工作。帮助我的方法是在/etc/NetworkManager/NetworkManager.conf中注释掉dnsmasq
#dns=dnsmasq

我的问题是NetworkManager.service试图在127.0.1.1:53上启动dnsmasq,但该端口已被dnsmasq.service占用。对我来说,解决方案是sudo systemctl disable dnsmasq.service