системне вирішення високого використання процесора після оновлення до 17.04


28

Я нещодавно оновив свій Xubuntu з 16.10 до 17.04.

Всі речі працюють добре, за винятком системного вирішення. інколи це робить використання процесора занадто високим, і я не знаю, чому ця проблема сталася.

І ось 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

У мене був аналогічний конфлікт між systemd-resolution та dnsmasq на порту 53.

/unix/304050/how-to-avoid-conflicts-bet between-dnsmasq-and-systemd- разрешил

і

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

привів мене , щоб додати DNSStubListener=noв /etc/systemd/resolved.confі потім sudo service systemd-resolved restart.


5
Це спрацювало, але тоді я не мав DNS і не міг отримати доступ до веб-сайтів по імені.
abalter

@abalter Моя проблема була спеціально циклом між systemd-resolution та dnsmasq, тому відключення одного працювало для мене. Якщо у вас все ще виникає ця проблема, мені буде цікаво, як topвиглядає ваш вигляд, і якщо це виявить цикл між системним рішенням та іншою утилітою замість цього.
MetricMike

Так, це resolvedробить те саме, що і dnsmasq? Чи варто відключити один із них назавжди? Тому що насправді немає сенсу мати два локальних dns-резолюції (я все ще не впевнений у одному TBH, але я вирішив піти з потоком і не налаштувати конфігурацію)
Іван Аніщук

омг ... що почувалося так добре. мовчання мого вентилятора процесора в ту мить, коли я перезапустив системне рішення ... але тепер, здається, хром до 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. Перш за все, це не працює для мене, я все ще бачу 100% використання процесора.
Іван Аніщук

І це ефективно не відключає dnsmasq? Чому б тоді не відключити його повністю?
Іван Аніщук

@IvanAnishchuk, ти напівправий. Він відключає механізм DNS DNSMasq, але він також має механізм DHCP.
Моше

10

systemd-resolution стає божевільним, коли хтось модифікує файл /etc/resolv.conf, який покликаний вказувати на власну адресу прослуховування 127.0.0.53.

Щоб хтось міг бути будь-яким сценарієм, ініційованим мережними подіями (VPN, що надходить або вниз, DHCP тощо)

Якщо ви повернете сервер імен до рівня 127.0.0.53, через кілька секунд система заспокоїться "заспокоїться".

Якщо припустити, що всі дотримуються правил і використовуючи лише Resolvconf для зміни конфігурації резолютора, ви можете також зробити це:

Файл /etc/resolvconf/interface-orderвказує порядок, в якому будуть використовуватися сервери імен, залежно від мережевого інтерфейсу, від якого вони отримані.

Якщо ви додасте запис systemd-resolvedу верхній частині файлу, він завжди вважатиметься першим, і файл не буде змінено.


2
Отже, обидві відповіді, що були вище, в кінці кінців мене провалили. Але цей поводився так, як було передбачено. Повернено мою резолюцію.conf (чомусь для сервера імен встановлено 127.0.0.1). Навіть не потрібно було перезавантажувати systemd, і все знову припинилося. Дивлячись на мої процеси зараз, dnsmasq знову вимикає радари, де це має бути! ЦЕ має бути прийнятою відповіддю. Дякую @xalkina!
Джоні Асмар

1
Здається, ця проблема повертається після перезавантаження ... Будь-які ідеї, що могло б змінити мою resolv.conf?
Джоні Асмар

1
Це рішення працює і для мене (в той час як два вище)
Alex Hoppus

2

У мене була така ж проблема в 18.04. systemd-resolvedі dnsmasqмають тенденцію до циклу. Я вирішив це таким чином:

Додайте або коментуйте такий рядок у /etc/default/dnsmasq:

IGNORE_RESOLVCONF=yes

Створіть власний resolvфайл ( /etc/resolv.personal) для визначення серверів імен. Тут ви можете використовувати будь-який сервер імен. Я взяв два з OpenNIC .

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.