17.04로 업데이트 한 후 systemd-resolution 높은 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가 없었고 이름으로 웹 사이트에 액세스 할 수 없었습니다.
abalter

@abalter 내 문제는 특히 systemd-resolve와 dnsmasq 사이의 루프였습니다. 그래서 하나를 끄면 저에게 효과적이었습니다. 이 문제가 계속 발생하면 시스템 top모양 이 궁금하고 systemd-resolve와 다른 유틸리티 사이의 루프가 나타나는지 궁금 합니다.
MetricMike

예, 이것은 resolveddnsmasq와 같은 기능을합니까? 우리는 그들 중 하나를 비활성화해야합니까? 2 개의 로컬 dns 리졸버를 갖는 것이 실제로 의미가 없기 때문에 (여전히 하나의 TBH에 대해서는 확신하지 않지만 흐름에 따라 설정을 사용자 정의하지 않기로 결정했습니다)
Ivan Anishchuk

세상에 ... 기분이 너무 좋아 systemd-resolved를 다시 시작하자마자 내 CPU 팬의 침묵은 ...하지만 크롬은 100으로 급상승하는 것처럼 보입니까?
Jonny Asmar

1
Yeh-이 솔루션에는 바람직하지 않은 부작용 (썬더 버드 살인 포함)이있는 것 같습니다 ... markackerman의 아래 답변을 참조하십시오.
Jonny Asmar

24

다른 앱에서 문제가 발생했습니다 (필자의 경우 teamViewer)

다른 솔루션 단계에서 제안

라인 DNSMASQ_EXCEPT=lo을 추가하십시오/etc/default/dnsmasq

sudo nano /etc/default/dnsmasq

다음을 통해 dnsmasq를 다시 시작하십시오.

sudo service systemd-resolved restart

고맙다고 말하면 도움이된다면 이전 방법으로 돌아가서 다른 앱과 관련이 없습니다.

건배, 마크


1
sudo nano설정을 편집하는 방법이 sudoedit아니라 대신 사용해야합니다. 그리고 systemctlsystemd와 서비스를 다시 시작하는 방법입니다. 무엇보다도, 그것은 나를 위해 작동하지 않습니다, 나는 여전히 100 % CPU 사용을 본다.
Ivan Anishchuk

그리고 이것이 효과적으로 dnsmasq를 비활성화하지 않습니까? 왜 완전히 비활성화하지 않습니까?
Ivan Anishchuk

@IvanAnishchuk 당신은 절반이 맞습니다. DNSMasq의 DNS 메커니즘을 비활성화하지만 DHCP 메커니즘도 있습니다.
Moshe

10

누군가가 파일을 수정할 때 systemd-resolved는 미친 듯이 /etc/resolv.conf들립니다.

네트워킹 이벤트 (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 감사합니다!
Jonny Asmar

1
재부팅 후이 문제가 다시 발생하는 것 같습니다 ... 어떤 아이디어가 내 수정 resolv.conf입니까?
Jonny Asmar

1
이 솔루션은 저에게도 효과적입니다 (위의 두 가지 방법은 그렇지 않습니다)
Alex Hoppus

2

18.04에서 같은 문제가 발생했습니다. systemd-resolveddnsmasq루프 경향이있다. 나는 이것을 이렇게 해결했다.

에서 다음 줄을 추가하거나 주석 해제하십시오 /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.