systemd-resolve el alto uso de la CPU después de la actualización a 17.04

28

Recientemente actualicé mi Xubuntu de 16.10 a 17.04.

Todo funciona bien, excepto systemd-resolve. algunas veces hace que el uso de la CPU sea demasiado alto y no sé por qué este problema se ha solucionado.

Y aquí está la topsalida del comando:

  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                                   

No sé por qué sucedió este problema, pero generalmente ocurre cuando se ejecutan algunos comandos como sudo apt update.

(Estoy usando tor y obfs4proxy, puede ser útil para responder)

Ali Razmdideh
fuente

Respuestas:

36

Tuve un conflicto similar entre systemd-resolve y dnsmasq en el puerto 53.

/unix/304050/how-to-avoid-conflicts-between-dnsmasq-and-systemd-resolved

y

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

me llevó a añadir DNSStubListener=noen /etc/systemd/resolved.confy después sudo service systemd-resolved restart.

MetricMike
fuente
55
Esto funcionó, pero no tenía DNS y no podía acceder a los sitios web por su nombre.
abalter
@abalter Mi problema fue específicamente un bucle entre systemd-resolve y dnsmasq, por lo que desactivar uno funcionó para mí. Si todavía tiene este problema, me gustaría saber cómo se topve y si eso revela un bucle entre systemd-resolve y otra utilidad.
MetricMike
Sí, ¿esto resolvedhace lo mismo que dnsmasq? ¿Deberíamos desactivar uno de ellos para siempre? Porque realmente no tiene sentido tener dos solucionadores de DNS locales (todavía no estoy convencido de un TBH pero decidí seguir con el flujo y no personalizar mi configuración)
Ivan Anishchuk
Dios mío ... eso se sintió tan bien. el silenciamiento de mi ventilador de la CPU en el instante en que reinicié el sistema resuelto ... pero ahora parece que Chrome está aumentando a 100?
Jonny Asmar
1
Sí, esta solución parecía tener efectos secundarios indeseables (incluida la muerte de Thunderbird) ... Vea la respuesta a continuación de Markackerman para el truco que funcionó para mí.
Jonny Asmar
24

Problemas causados ​​con otras aplicaciones (teamViewer en mi caso)

Sugerido por otros Pasos de solución

Agregue la línea DNSMASQ_EXCEPT=loa/etc/default/dnsmasq

sudo nano /etc/default/dnsmasq

Reinicie dnsmasq a través de

sudo service systemd-resolved restart

Di gracias si ayudé, volvió a la normalidad y NO se mete con otras aplicaciones, como lo hizo el método anterior.

Saludos, Mark

markackerman8-gmail.com
fuente
1
sudo nanono es la forma de editar configuraciones, sudoeditdebería usarse en su lugar. Y systemctles la forma de reiniciar los servicios con systemd. Por encima de todo, no funciona para mí, todavía veo el uso del 100% de la CPU.
Ivan Anishchuk
¿Y esto no deshabilita efectivamente dnsmasq? ¿Por qué no deshabilitarlo completamente entonces?
Ivan Anishchuk
@IvanAnishchuk tienes la mitad de razón. Deshabilita el mecanismo DNS de DNSMasq pero también tiene un mecanismo DHCP.
Moshe
10

systemd-resolve se vuelve loco cuando alguien modifica el archivo /etc/resolv.conf, que debe apuntar a su propia dirección de escucha 127.0.0.53.

Que alguien podría ser cualquier script desencadenado por eventos de red (VPN que sube, baja, DHCP, etc.)

Si vuelve a configurar el servidor de nombres en 127.0.0.53, systemd-resolve se "calmará" unos segundos después.

Suponiendo que todos respetan las reglas y solo usan resolvconf para modificar la configuración del resolutor, también puede hacer esto:

El archivo /etc/resolvconf/interface-orderespecifica el orden en el que se utilizarán los servidores de nombres, según la interfaz de red desde la que se recibieron.

Si agrega una entrada systemd-resolveden la parte superior del archivo, siempre se considerará primero y el archivo no se modificará.

xalkina
fuente
2
Entonces, ambas respuestas anteriores terminaron fallando al final. Pero este se comportó tal como se predijo. Revertí mi resolv.conf (el servidor de nombres se configuró en 127.0.0.1 por alguna razón). Ni siquiera necesité reiniciar systemd y las cosas se cerraron nuevamente. Viendo mis procesos ahora, dnsmasq está fuera del radar nuevamente, ¡donde debería estar! ESTA debería ser la respuesta aceptada. Gracias @xalkina!
Jonny Asmar
1
Este problema parece volver después de un reinicio ... ¿Alguna idea de qué estaría modificando mi resolv.conf?
Jonny Asmar
1
Esta solución también funciona para mí (mientras que las dos anteriores no)
Alex Hoppus
2

Tuve el mismo problema en 18.04. systemd-resolvedy dnsmasqtienden a dar vueltas. Lo resolví de esta manera:

Agregue o descomente la siguiente línea en /etc/default/dnsmasq:

IGNORE_RESOLVCONF=yes

Cree su propio resolvarchivo ( /etc/resolv.personal) para definir servidores de nombres. Puedes usar cualquier servidor de nombres aquí. Tomé dos de OpenNIC .

nameserver 5.132.191.104
nameserver 103.236.162.119

En /etc/dnsmasq.confagregar o descomentar la siguiente línea:

resolv-file=/etc/resolv.personal

A continuación, reinicie dnsmasqy desactivar el sistema de resolución por defecto: systemd-resolved.

sudo service dnsmasq restart
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
Daniel Pernold
fuente