当前位置: 首页>>技术教程>>正文


xubuntu – systemd-resolve 更新到 17.04 后 CPU 使用率高

, , , ,

问题描述

我最近将我的 Xubuntu 从 16.10 升级到 17.04。

除 systemd-resolve 外,一切正常。有时它会使 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                                   

我不知道为什么会发生此问题,但通常会在运行 sudo apt update 等命令时发生。

(我正在使用 tor 和 obfs4proxy,这可能有助于回答)

最佳方案

我在端口 53 上的 systemd-resolve 和 dnsmasq 之间有类似的冲突。

https://unix.stackexchange.com/questions/304050/how-to-avoid-conflicts-between-dnsmasq-and-systemd-resolved

https://github.com/systemd/systemd/pull/4061

引导我在 /etc/systemd/resolved.conf 中添加 DNSStubListener=no,然后在 sudo service systemd-resolved restart 中添加。

次佳方案

导致其他应用程序出现问题(在我的例子中是 teamViewer)

其他人建议\n解决步骤

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

sudo nano /etc/default/dnsmasq

通过重新启动 dnsmasq

sudo service systemd-resolved restart

说声谢谢如果我帮了忙,它会恢复正常并且不会像以前的方法那样与其他应用程序混淆。

干杯,马克

第三种方案

当有人修改文件 /etc/resolv.conf 时,systemd-resolved 变得疯狂,这意味着指向它自己的监听地址 127.0.0.53。

某人可能是由网络事件触发的任何脚本(VPN 启动或关闭、DHCP 等)

如果您将名称服务器设置回 127.0.0.53,则 systemd-resolved 将在几秒后 “calm down”。

假设每个人都遵守规则,并且只使用 resolvconf 来修改解析器的配置,你也可以这样做:

文件 /etc/resolvconf/interface-order 指定名称服务器的使用顺序,具体取决于接收名称服务器的网络接口。

如果您在文件顶部添加 systemd-resolved 的条目,它将始终被首先考虑并且不会修改文件。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13355.html,未经允许,请勿转载。