systemd-giải quyết việc sử dụng cpu cao sau khi cập nhật lên 17.04


28

Gần đây tôi đã nâng cấp Xubfox của mình từ 16.10 lên 17.04.

Mọi thứ hoạt động tốt, ngoại trừ giải quyết systemd. đôi khi nó làm cho việc sử dụng cpu quá cao và tôi không biết tại sao vấn đề này lại xảy ra.

Và đây là topđầu ra lệnh:

  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                                   

Tôi không biết tại sao vấn đề này đã xảy ra nhưng thường xảy ra khi chạy một số lệnh như thế nào sudo apt update.

(Tôi đang sử dụng tor và obfs4proxy. Nó có thể hữu ích cho câu trả lời)

Câu trả lời:


36

Tôi đã có một cuộc xung đột tương tự giữa giải quyết systemd và dnsmasq trên cổng 53.

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

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

dẫn tôi thêm DNSStubListener=novào /etc/systemd/resolved.confvà sau đó sudo service systemd-resolved restart.


5
Điều này đã làm việc, nhưng sau đó tôi không có DNS và không thể truy cập các trang web theo tên.
abalter

@abalter Vấn đề của tôi cụ thể là một vòng lặp giữa systemd-giải quyết và dnsmasq, vì vậy tắt một cái đã làm việc cho tôi. Nếu bạn vẫn gặp phải vấn đề này, tôi sẽ tò mò xem bạn toptrông như thế nào và liệu điều đó có tiết lộ một vòng lặp giữa giải quyết systemd và một tiện ích khác thay thế.
Số liệu

Vâng, điều này có resolvedlàm điều tương tự như dnsmasq không? Chúng ta có nên vô hiệu hóa một trong số chúng cho tốt? Bởi vì thật không hợp lý khi có hai bộ giải quyết dns cục bộ (Tôi vẫn chưa bị thuyết phục về một TBH nhưng tôi đã quyết định thực hiện theo dòng chảy và không tùy chỉnh cấu hình của mình)
Ivan Anishchuk

ồ ... cảm thấy rất tốt sự im lặng của quạt cpu của tôi ngay khi tôi khởi động lại hệ thống đã được giải quyết ... nhưng bây giờ chrome dường như tăng vọt lên 100?
Jonny Asmar

1
Yeh - giải pháp này dường như có tác dụng phụ không mong muốn (bao gồm cả giết sấm sét) ... Xem câu trả lời dưới đây từ markackerman để biết thủ thuật có hiệu quả với tôi.
Jonny Asmar

24

Đã gây ra sự cố với các Ứng dụng khác (teamViewer trong trường hợp của tôi)

Đề xuất bởi một bước giải pháp khác

Thêm dòng DNSMASQ_EXCEPT=lovào/etc/default/dnsmasq

sudo nano /etc/default/dnsmasq

Khởi động lại dnsmasq qua

sudo service systemd-resolved restart

Nói lời cảm ơn Nếu tôi đã giúp, Nó đã trở lại bình thường và KHÔNG làm hỏng các ứng dụng khác, như phương pháp trước đây DID.

Chúc mừng, Mark


1
sudo nanokhông phải là cách để chỉnh sửa cấu hình, sudoeditnên được sử dụng thay thế. Và systemctllà cách để khởi động lại dịch vụ với systemd. Trên hết, nó không hoạt động với tôi, tôi vẫn thấy việc sử dụng CPU 100%.
Ivan Anishchuk

Và điều này không hiệu quả vô hiệu hóa dnsmasq? Tại sao không vô hiệu hóa nó hoàn toàn sau đó?
Ivan Anishchuk

@IvanAarnchuk bạn đúng một nửa. Nó vô hiệu hóa cơ chế DNS của DNSMasq nhưng nó cũng có cơ chế DHCP.
Moshe

10

Giải quyết hệ thống trở nên điên rồ khi ai đó sửa đổi tệp /etc/resolv.conf, có nghĩa là trỏ đến địa chỉ nghe của chính nó 127.0.0.53.

Rằng ai đó có thể là bất kỳ tập lệnh nào được kích hoạt bởi các sự kiện mạng (VPN sắp lên hoặc xuống, DHCP, v.v.)

Nếu bạn đặt máy chủ tên trở lại 127.0.0.53, thì hệ thống được phân giải sẽ "bình tĩnh" vài giây sau.

Giả sử rằng mọi người đều tôn trọng các quy tắc và chỉ sử dụng độ phân giải để sửa đổi cấu hình của trình phân giải, bạn cũng có thể thực hiện việc này:

Tệp /etc/resolvconf/interface-orderchỉ định thứ tự sử dụng máy chủ tên, tùy thuộc vào giao diện mạng mà chúng được nhận từ đó.

Nếu bạn thêm một mục nhập systemd-resolvedở đầu tệp, nó sẽ luôn được xem xét đầu tiên và tệp sẽ không được sửa đổi.


2
Vì vậy, cuối cùng cả hai câu trả lời cuối cùng đều khiến tôi thất bại. Nhưng điều này hành xử đúng như dự đoán. Hoàn nguyên độ phân giải của tôi (máy chủ tên được đặt thành 127.0.0.1 vì một số lý do). Thậm chí không cần phải khởi động lại systemd và mọi thứ lại bị loại bỏ. Theo dõi các quá trình của tôi bây giờ, dnsmasq lại tắt radar, nơi cần phải có! Đây phải là câu trả lời được chấp nhận. Cảm ơn bạn @xalkina!
Jonny Asmar

1
Vấn đề này dường như trở lại sau khi khởi động lại ... Bất kỳ ý tưởng nào sẽ được sửa đổi của tôi resolv.conf?
Jonny Asmar

1
Giải pháp này cũng hiệu quả với tôi (trong khi hai cách trên thì không)
Alex Hoppus

2

Tôi đã có cùng một vấn đề trong 18.04. systemd-resolveddnsmasqcó xu hướng lặp. Tôi đã giải quyết nó theo cách này:

Thêm hoặc bỏ ghi chú dòng sau vào /etc/default/dnsmasq:

IGNORE_RESOLVCONF=yes

Tạo resolvtập tin của riêng bạn ( /etc/resolv.personal) để xác định máy chủ tên. Bạn có thể sử dụng bất kỳ máy chủ tên ở đây. Tôi lấy hai từ OpenNIC .

nameserver 5.132.191.104
nameserver 103.236.162.119

Trong /etc/dnsmasq.confadd hoặc bỏ ghi chú dòng sau:

resolv-file=/etc/resolv.personal

Sau đó khởi động lại dnsmasqvà vô hiệu hóa trình phân giải mặc định : systemd-resolved.

sudo service dnsmasq restart
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.