问题描述
我最近将我的 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://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
的条目,它将始终被首先考虑并且不会修改文件。