web-dev-qa-db-ja.com

17.04への更新後のsystemd-resolveの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を使用しています、答えに役立つかもしれません)

27
Ali Razmdideh

ポート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を追加しました。

36
MetricMike

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

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

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

Sudo nano /etc/default/dnsmasq

経由でdnsmasqを再起動します

Sudo service systemd-resolved restart

助けてくれれば、以前の方法のDIDのように、通常の状態に戻り、他のアプリに邪魔されません。

乾杯、マーク

誰かがファイル/etc/resolv.confを変更すると、systemd-resolvedがおかしくなります。これは、独自のリスニングアドレス127.0.0.53を指していることを意味します。

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

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

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

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

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

10
xalkina

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
2
Daniel Pernold