उबंटू लिनक्स पर, क्या लगातार (जाहिरा तौर पर पृष्ठभूमि में) मंड को चलाना सामान्य है?


12

मेरे पास अपने संस्थान में एक उबंटू लिनक्स नोड है। नोड्स को समूह के बीच साझा किया जाता है, लेकिन आमतौर पर मैं एकमात्र व्यक्ति हूं जो इस विशेष नोड का उपयोग करता है।

मैं इस नोड पर सभी 8 सीपीयू पर समानांतर में एक गणना चला रहा हूं। मेरी गणना चलती है, लेकिन जब मैं सक्रिय प्रक्रियाओं का उपयोग करके topदेखता हूं, तो मुझे एक अतिरिक्त प्रक्रिया दिखाई देती है जो उपयोगकर्ता manऔर कमांड कहती है mandb। यह mandbकमांड हर बार जब मैं देखता हूं top, तो यह प्रतीत होता है, और यह सीपीयू पावर ( 6 %CPU) और मेमोरी ( 2.5 %MEM) के अनुसार काफी सराहनीय राशि लेता है top

जब मैं इंटरनेट पर चारों ओर देखता हूं, तो ऐसा लगता है कि:

mandb इंडेक्स डेटाबेस कैश को इनिशियलाइज़ या मैन्युअल रूप से अपडेट करने के लिए उपयोग किया जाता है जो आमतौर पर आदमी द्वारा बनाए रखा जाता है।

फिर, mandbइस नोड पर हर समय क्यों चलता है? (मुझे अपने संस्थान के क्लस्टर के भीतर अन्य नोड्स के अनुसार, अन्य नोड्स पर यह समस्या नहीं है top।) mandbमुझे हर समय चलाने की आवश्यकता क्यों होगी , क्योंकि मैं वर्तमान में मैनुअल नहीं देख रहा हूं ?

क्या इस प्रक्रिया में एक प्रेत प्रक्रिया होने की संभावना है जिसका उपयोग करके मैं सुरक्षित रूप से समाप्त कर सकता हूं kill?


@derobert मैं सिसादमिन नहीं हूं। ठीक है, मैं उससे पूछूंगा। धन्यवाद।
एंड्रयू

जवाबों:


10

mandbलगातार दौड़ना सामान्य बात नहीं है । क्रोन जॉब mandbमें दिन में एक बार दौड़ना , मेनटेन करना जैसे कि इंस्टॉल किए गए मैन पेजों के इंडेक्स को अपडेट करना और फॉर्मेट किए गए मैन पेजों के कैशे को ट्रिम करना खास है । दैनिक कार्य कुछ सेकंड में चलना चाहिए, शायद कुछ मिनट अगर आपके पास बहुत सारे मैन पेज और एक धीमी डिस्क है। यदि नौकरी उससे अधिक समय तक चलती है, तो कुछ गड़बड़ है।

6% CPU उच्च नहीं है, लेकिन यह प्रक्रिया डिस्क I / O कर रही है। क्लस्टर नोड पर 2.5% मेमोरी उच्च लगती है। यह संभावना है कि नौकरी गलत है और यह देख रही है कि यह कहाँ नहीं होना चाहिए, या यह कि mandbकार्यक्रम में कोई बग है , या यह कि हार्डवेयर की विफलता के कारण mandbअटक गया है।

आप ( /etc/crontabया /etc/cron.*/*सटीक स्थान वितरण-निर्भर है /etc/cron.daily/man-dbऔर /etc/cron.weekly/man-dbसंभावित स्थान हैं) में क्रोन स्क्रिप्ट देख सकते हैं। आप देख सकते हैं कि mandbइस प्रक्रिया को और अधिक बारीकी से देखकर क्या किया जाता है: प्रक्रिया के pstree | lessलिए दौड़ें और खोजें mandb। रनिंग ps ww 12345(जहां 12345 आपत्तिजनक प्रक्रिया का पीआईडी ​​है) पूरी कमांड लाइन दिखाएगा।

यह कुछ ऐसा है जिसे आप अपने दम पर निदान करने में सक्षम हो सकते हैं, लेकिन बिना रूट अनुमतियों के ठीक नहीं होंगे। यदि आपके पास रूट अनुमतियां हैं, तो आप इस mandbप्रक्रिया को सुरक्षित रूप से मार सकते हैं (कमांड का उपयोग करें sudo pkill mandbया su -c 'pkill mandb', इस बात पर निर्भर करता है कि आप रूट कैसे बनें)। किसी भी मामले में, अपने सिस्टम व्यवस्थापक से संपर्क करें और लक्षणों को समझाएं। आप (जैसे क्या लागू कार्यक्रम के रूप में कर सकते हैं सभी जानकारी दें mandbऔर क्या तर्क के साथ)।


2

मैंने क्रोन लिपियों की जाँच की, यह केवल मनुष्य के सूचकांकों को अपडेट करने के लिए एक कमान थी, मैनुअल की खोज में तेजी लाती है, रोज़ाना चलती है, आप इसे सुरक्षित रूप से मार सकते हैं।

आपको यह पसंद नहीं है, बस इसे निष्क्रिय कर दें chmod -x /etc/cron.daily/man-db


2

यह एक हेइज़ेनबग है, और संभवतः एक है जिसे मंड के हाल के संस्करणों में तय किया गया है। यह टूटे हुए manpages, filesystem traversal ऑर्डर, और incremental rebuilds मंड के साथ बहुत धीमी गति से पूर्ण rebuilds (15 मिलियन पृष्ठ दोष या तो, जो कताई जंग पर मिनट लगते हैं) में करना है।

यदि आप इसका निवारण करना चाहते हैं, तो दौड़ें:

sudo mandb --no-purge --debug

और कभी भी --createया बिना इसके साथ मैंडब न चलाएं --no-purge। फिर सुनिश्चित करें कि आपके पास नवीनतम संस्करण है और बग की रिपोर्ट करें जहां cjwatson इसे देख सकता है।

यदि दूसरी ओर आप समस्या से छुटकारा पाना चाहते हैं, तो दौड़ें:

echo 'man-db man-db/auto-update boolean false' |sudo debconf-set-selections

जो मैन-डीबी क्रोनजॉब (रोजाना रन) और डीपीकेजी ट्रिगर (जब पैकेज स्थापित होता है) को निष्क्रिय कर देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.