更新到 17.04之后,systemd解决了cpu高使用率

分享于 

3分钟阅读

ubuntu

  繁體

问题

我最近把Xubuntu从16.10升级到17.04.

有时它会使cpu使用率过高,我不知道为什么会发生此问题。

下面是top命令的输出:


 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 


 1114 systemd+ 20 0 51532 6744 4504 R 100 0.0 9:51.67 systemd-resolve 


 1152 dnsmasq 20 0 64360 2892 2480 R 38.9 0.0 4:05.53 dnsmasq 


 1245 root 20 0 376644 89644 64436 S 1.7 0.5 0:35.69 Xorg 


 1624 asus 20 0 370160 45820 28488 S 0.7 0.3 0:00.90 python2 


 2238 asus 20 0 2562816 553112 128492 S 0.7 3.4 2:41.20 firefox 


 16 root 20 0 0 0 0 S 0.3 0.0 0:01.05 ksoftirqd/1 


 708 root -51 0 0 0 0 S 0.3 0.0 0:01.20 irq/95-ELAN1000 


 1302 root -51 0 0 0 0 S 0.3 0.0 0:03.68 irq/142-nvidia 


 1734 asus 20 0 483388 11060 8560 S 0.3 0.1 0:05.45 conky 


 2820 root 20 0 0 0 0 S 0.3 0.0 0:00.14 kworker/5:1 


 3420 asus 20 0 53384 3932 3200 R 0.3 0.0 0:00.76 top 




答案1

将行DNSMASQ_EXCEPT=lo添加到/etc/default/dnsmasq


sudo nano /etc/default/dnsmasq



通过以下方式重新启动dnsmasq


sudo service systemd-resolved restart




答案2

当修改了文件/etc/resolv.conf时,systemd会疯狂解析,这意味着指向自己的侦听地址127.0.0.53.


答案3

在18.04,我也有同样的问题,systemd-resolveddnsmasq死循环,我用这种方法解决了这个问题:

/etc/default/dnsmasq中添加或取消注释以下行:


IGNORE_RESOLVCONF=yes



创建你自己的resolv文件(/etc/resolv.personal )以定义名称服务器,你可以在这里使用名称服务器,


nameserver 5.132.191.104


nameserver 103.236.162.119



/etc/dnsmasq.conf中添加或取消注释以下行:


resolv-file=/etc/resolv.personal



然后重新启动dnsmasq并禁用默认冲突解决程序:systemd-resolved


sudo service dnsmasq restart


sudo systemctl stop systemd-resolved


sudo systemctl disable systemd-resolved





SYS  系统  HIG  CPU  Resolve  Systemd