web-dev-qa-db-fra.com

Systemd-résoudre l'utilisation élevée du processeur après la mise à jour à 17.04

J'ai récemment mis à jour mon Xubuntu du 16.10 au 17.04.

Tout fonctionne bien sauf systemd-resol. Parfois, cela rend l'utilisation du processeur trop élevée et je ne sais pas pourquoi ce problème est survenu.

Et voici le résultat de la commande 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                                   

Je ne sais pas pourquoi ce problème est survenu, mais il se produit généralement lorsque vous exécutez des commandes telles que Sudo apt update.

(J'utilise tor et obfs4proxy, cela peut être utile pour répondre)

27
Ali Razmdideh

J'ai eu un conflit similaire entre systemd-resol et Dnsmasq sur le port 53.

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

et

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

m'a amené à ajouter DNSStubListener=no dans /etc/systemd/resolved.conf et ensuite Sudo service systemd-resolved restart.

36
MetricMike

Problèmes causés avec d'autres applications (teamViewer dans mon cas)

Suggéré par une autre étape de la solution

Ajoutez la ligne DNSMASQ_EXCEPT=lo à /etc/default/dnsmasq

Sudo nano /etc/default/dnsmasq

Redémarrez dnsmasq via

Sudo service systemd-resolved restart

Dites merci si j'ai aidé, Il est revenu à la normale et ne se fout pas avec d'autres applications, comme la méthode précédente DID.

Cordialement, Mark

23

systemd-resol devient fou quand quelqu'un modifie le fichier /etc/resolv.conf, qui est censé pointer vers sa propre adresse d'écoute 127.0.0.53.

Que quelqu'un puisse être n'importe quel script déclenché par des événements de mise en réseau (VPN à venir ou en panne, DHCP, etc.)

Si vous redéfinissez le serveur de noms sur 127.0.0.53, alors la résolution de systemd sera "calmée" quelques secondes plus tard.

En supposant que tout le monde respecte les règles et n'utilise que resolvconf pour modifier la configuration du résolveur, vous pouvez également le faire:

Le fichier /etc/resolvconf/interface-order spécifie l'ordre dans lequel les serveurs de noms seront utilisés, en fonction de l'interface réseau à partir de laquelle ils ont été reçus.

Si vous ajoutez une entrée pour systemd-resolved en haut du fichier, elle sera toujours considérée en premier et le fichier ne sera pas modifié.

10
xalkina

J'ai eu le même problème en 18.04. systemd-resolved et dnsmasq ont tendance à se mettre en boucle. Je l'ai résolu de cette façon:

Ajoutez ou décommentez la ligne suivante dans /etc/default/dnsmasq:

IGNORE_RESOLVCONF=yes

Créez votre propre fichier resolv (/etc/resolv.personal) pour définir les serveurs de noms. Vous pouvez utiliser n'importe quel serveur de noms ici. J'ai pris deux de OpenNIC .

nameserver 5.132.191.104
nameserver 103.236.162.119

Dans /etc/dnsmasq.conf, ajoutez ou supprimez la mise en commentaire de la ligne suivante:

resolv-file=/etc/resolv.personal

Ensuite, redémarrez dnsmasq et désactivez le résolveur par défaut: systemd-resolved.

Sudo service dnsmasq restart
Sudo systemctl stop systemd-resolved
Sudo systemctl disable systemd-resolved
2
Daniel Pernold