17.04 के अद्यतन के बाद systemd-solution उच्च cpu उपयोग


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

पोर्ट 53 पर सिस्टमड-रिज़ॉल्यूशन और डान्समास्क के बीच मेरा समान संघर्ष था।

/unix/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
यह काम किया, लेकिन तब मेरे पास कोई डीएनएस नहीं था और नाम से वेबसाइटों तक नहीं पहुंच सकता था।
अबल्टर

@abalter मेरा मुद्दा विशेष रूप से सिस्टमड-रिज़ॉल्यूशन और dnsmasq के बीच एक लूप था, इसलिए मेरे लिए काम करना बंद कर दिया गया। यदि आप अभी भी इस समस्या को ले रहे हैं, तो मैं उत्सुक हो जाऊंगा कि आपका क्या topदिखता है और यदि इसके बजाय सिस्टमड-रिज़ॉल्यूशन और एक अन्य उपयोगिता के बीच एक लूप का पता चलता है।
मेट्रिकमाइक

हाँ, क्या यह resolveddnsmasq जैसी ही बात करता है? क्या हमें उनमें से एक को अच्छे के लिए निष्क्रिय करना चाहिए? क्योंकि यह वास्तव में दो स्थानीय डीएनएस रिसोल्वर होने का कोई मतलब नहीं है (मैं अभी भी एक टीबीएच के बारे में आश्वस्त नहीं हूं लेकिन मैंने प्रवाह के साथ जाने का फैसला किया है और मेरे विन्यास को अनुकूलित नहीं किया है)
इवान अनिशचुक

omg ... जो इतना अच्छा लगा। मेरे सीपीयू प्रशंसक की चुप्पी मैंने तुरंत सिस्टमड-सॉल्यूशन को फिर से चालू किया ... लेकिन अब क्रोम 100 तक फैलता दिखाई दे रहा है?
जॉनी असमर

1
ये - यह समाधान अवांछनीय साइड-इफेक्ट (थंडरबर्ड को मारने सहित) के लिए लग रहा था ... मेरे लिए काम करने वाली चाल के लिए मार्केमैन से नीचे का जवाब देखें।
जॉनी असमर

24

अन्य ऐप्स की समस्याएँ (मेरे मामले में टीम व्यूअर)

समाधान के अन्य चरणों द्वारा सुझाया गया

पंक्ति जोड़ें DNSMASQ_EXCEPT=loकरने के लिए/etc/default/dnsmasq

sudo nano /etc/default/dnsmasq

के माध्यम से dnsmasq पुनरारंभ करें

sudo service systemd-resolved restart

थैंक्स अगर मैंने मदद की, तो यह सामान्य हो गया और अन्य एप्स के साथ चारों ओर पेंच नहीं है, जैसा कि पिछले विधि DID के रूप में है।

चीयर्स, मार्क


1
sudo nanoकॉन्फ़िगरेशन को संपादित करने का तरीका नहीं है, sudoeditइसके बजाय इसका उपयोग किया जाना चाहिए। और systemctlसिस्टमड के साथ सेवाओं को पुनरारंभ करने का तरीका है। इन सबसे ऊपर, यह मेरे लिए काम नहीं करता है, मैं अभी भी 100% सीपीयू उपयोग देखता हूं।
इवान अनिशचुक

और क्या यह प्रभावी रूप से dnsmasq को निष्क्रिय नहीं करता है? इसे पूरी तरह से अक्षम क्यों नहीं किया जाए?
इवान अनिशचुक

@ इवानअंशुक आप आधे सही हैं। यह DNSMasq के DNS तंत्र को अक्षम करता है लेकिन इसमें डीएचसीपी तंत्र भी है।
मोशे

10

जब कोई फ़ाइल को संशोधित करता है, तो सिस्टमड-सॉल्व्ड क्रेज़ी हो जाता है /etc/resolv.conf, जिसका मतलब है कि यह अपने स्वयं के सुनने के पते को इंगित करता है 127.0.0.53।

किसी को नेटवर्किंग इवेंट्स (वीपीएन ऊपर या नीचे, डीएचसीपी, आदि) द्वारा ट्रिगर की गई कोई भी स्क्रिप्ट हो सकती है।

यदि आप नेमसर्वर को वापस 127.0.0.53 पर सेट करते हैं, तो सिस्टमड-सॉल्वड कुछ सेकंड बाद "शांत हो जाएगा"।

यह मानते हुए कि हर कोई नियमों का सम्मान करता है, और केवल रिज़ॉल्वर के कॉन्फ़िगरेशन को संशोधित करने के लिए resolvconf का उपयोग करके, आप यह भी कर सकते हैं:

फ़ाइल /etc/resolvconf/interface-orderउस क्रम को निर्दिष्ट करती है जिसमें नेमसर्वर का उपयोग किया जाएगा, यह उस नेटवर्क इंटरफेस पर निर्भर करता है जो उन्हें प्राप्त हुआ था।

यदि आप systemd-resolvedफ़ाइल के शीर्ष पर एक प्रविष्टि जोड़ते हैं , तो इसे हमेशा पहले माना जाएगा और फ़ाइल को संशोधित नहीं किया जाएगा।


2
इसलिए, ऊपर दिए गए दोनों उत्तर मुझे अंत में विफल कर रहे थे। लेकिन यह एक भविष्यवाणी के रूप में व्यवहार किया। मेरा resolv.conf वापस लौटा (नामवर किसी कारण से 127.0.0.1 पर सेट किया गया था)। यहां तक ​​कि सिस्टमड और फिर से नीचे उद्धृत चीजों को पुनरारंभ करने की आवश्यकता नहीं थी। मेरी प्रक्रियाओं को देखते हुए, dnsmasq फिर से रडार से दूर है, जहां यह होना चाहिए! यह स्वीकृत उत्तर होना चाहिए। शुक्रिया @xalkina!
जॉनी असमर

1
यह मुद्दा एक रिबूट के बाद लौटा लगता है ... कोई भी विचार मेरे संशोधन क्या होगा resolv.conf?
जॉनी असमर

1
यह समाधान मेरे लिए या तो काम करता है (जबकि ऊपर दो नहीं)
एलेक्स होपस

2

मुझे 18.04 में यही समस्या थी। systemd-resolvedऔर dnsmasqलूप करते हैं। मैंने इसे इस तरह हल किया:

निम्न पंक्ति जोड़ें या इसमें शामिल न करें /etc/default/dnsmasq:

IGNORE_RESOLVCONF=yes

नेमसर्वर को परिभाषित करने के लिए अपनी खुद की resolvफ़ाइल ( /etc/resolv.personal) बनाएं । आप यहां किसी भी नेमसर्वर का उपयोग कर सकते हैं। मैंने ओपनएनआईसी से दो लिया ।

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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.