17.04への更新後のsystemd-resolveの高いCPU使用率


28

最近、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を使用しています、答えに役立つかもしれません)

回答:


36

ポート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

追加するために私を導いたDNSStubListener=no/etc/systemd/resolved.confしてからsudo service systemd-resolved restart


5
これは機能しましたが、その後DNSがなく、名前でWebサイトにアクセスできませんでした。
abalter

@abalter私の問題は、具体的にはsystemd-resolveとdnsmasqの間のループでした。それでもこの問題がtop解決しない場合は、あなたの外見がどうなるか興味があり、それがsystemd-resolveと別のユーティリティの間のループを明らかにするかどうかを確認します。
MetricMike

ええ、これresolvedはdnsmasqと同じことをしますか?そのうちの1つを無効にする必要がありますか?それは実際に2つのローカルDNSリゾルバ(私はまだ1つのTBHについては確信していないが、私は流れに行くと、私の設定をカスタマイズしないことにしました)持っている意味がないので
イワンAnishchuk

ああ...それはとても気持ちがいい。CPUファンのサイレンシングは、systemd-resolvedを再起動した瞬間に...しかし、クロムは100に急上昇しているように見えますか?
ジョニーアスマー

1
ええ-この解決策は望ましくない副作用(サンダーバードを殺すことを含む)を持っているように見えました...
ジョニー

24

他のアプリ(私の場合はteamViewer)で問題が発生しました

ソリューションの別のステップで提案された

DNSMASQ_EXCEPT=loを追加します/etc/default/dnsmasq

sudo nano /etc/default/dnsmasq

経由でdnsmasqを再起動します

sudo service systemd-resolved restart

私が助けてくれたなら感謝します。以前の方法DIDのように、通常の状態に戻り、他のアプリに邪魔されません。

乾杯、マーク


1
sudo nano構成を編集する方法ではなく、sudoedit代わりに使用する必要があります。そしてsystemctl、systemdでサービスを再起動する方法です。何よりも、私にとってはうまくいきません。CPU使用率は100%のままです。
イヴァンアニシュチュク

そして、これはdnsmasqを事実上無効にしませんか?完全に無効にしてみませんか?
イヴァンアニシュチュク

@IvanAnishchukあなたは半分正しいです。DNSMasqのDNSメカニズムは無効になりますが、DHCPメカニズムもあります。
モシェ

10

systemd-resolvedは、誰かがそのファイルを変更すると狂ってしまいます/etc/resolv.conf。これは、自分のリスニングアドレス127.0.0.53を指すことを意図しています。

誰かがネットワークイベント(VPNの起動または停止、DHCPなど)によってトリガーされるスクリプトである可能性があること

ネームサーバーを127.0.0.53に戻すと、systemd-resolvedは数秒後に「落ち着き」ます。

全員がルールを尊重し、リゾルバーの構成を変更するためにresolvconfのみを使用していると仮定すると、これも実行できます。

ファイル /etc/resolvconf/interface-orderは、受信元のネットワークインターフェイスに応じて、ネームサーバーが使用される順序を指定し。

systemd-resolvedファイルの先頭にエントリを追加すると、常に最初に考慮され、ファイルは変更されません。


2
したがって、上記の両方の答えは、結局私を失敗させました。しかし、これは予測どおりに動作しました。resolv.confを元に戻しました(何らかの理由でネームサーバーが127.0.0.1に設定されていました)。systemdを再起動する必要さえありませんでした。私のプロセスを今見ていると、dnsmasqは再び注目を浴びています。これは受け入れられた答えであるべきです。@xalkinaありがとう!
ジョニーアスマー

1
この問題は、再起動後に戻るようです...何が私の変更になるのresolv.confでしょうか?
ジョニーアスマー

1
この解決策は私にとっても機能します(上記2つは機能しません)
アレックスホ

2

18.04でも同じ問題が発生しました。systemd-resolvedそしてdnsmasqループする傾向があります。私はこのように解決しました:

で次の行を追加またはコメント解除します/etc/default/dnsmasq

IGNORE_RESOLVCONF=yes

独自のresolvファイル(/etc/resolv.personal)を作成して、ネームサーバーを定義します。ここで任意のネームサーバーを使用できます。OpenNICから2つ取りました

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.