समय के साथ प्रक्रियाओं की मेमोरी / सीपीयू उपयोग की निगरानी और लॉग इन कैसे करें? [बन्द है]


30

मैं मुद्दों का निदान करने के लिए एक रास्ता ढूंढ रहा हूं, जैसे कि स्वैप डेथ, जहां एक बलूनिंग मेमोरी प्रक्रिया स्वैप को भर देती है और पूरी मशीन (जैसे अपाचे) को मार देती है।

मैं पहले से ही कैक्टि का उपयोग कर रहा हूं और मैं नागिन (हालांकि नहीं बल्कि) या मुनिन स्थापित कर सकता हूं लेकिन जहां तक ​​मैं बता सकता हूं कि वे व्यक्तिगत कार्यक्रम उपयोग रिकॉर्ड नहीं कर सकते हैं - बस समग्र स्थिति।

मुझे पता है कि मैं एक स्क्रिप्ट को रोल कर सकता हूं >> >> हर 30 के दशक में किसी फाइल पर। लेकिन मैं यह देखना चाहूंगा कि क्या कोई मौजूदा परिपक्व समाधान पहले से मौजूद है।

फिर, आदर्श रूप से यह होगा:

  • रिकॉर्ड प्रक्रियाओं की स्मृति हर एन सेकंड का उपयोग करती है
  • रिकॉर्ड प्रक्रिया 'CPU उपयोग हर N सेकंड
  • समर्थन चार्ट और इतिहास
  • समर्थन औसत - जैसे mysqld ने अंतिम दिन में 43% CPU का उपयोग किया है और औसतन 400MB मेमोरी का उपयोग किया है
  • स्वतंत्र और खुला स्रोत हो

प्रक्रिया नाम नहीं हैं और पहले से ज्ञात नहीं होना चाहिए - विचार सिर्फ इसे मॉनिटर करने के लिए है और फिर शीर्ष अपराधियों पर एक नज़र है।

मेरा सिस्टम लिनक्स (OpenSUSE) है।


क्या आप ऐसी किसी भी प्रक्रिया की निगरानी करना चाहते हैं जिसमें स्मृति रिसाव हो सकता है (शीर्ष एन मेमोरी हॉग) या आप प्रक्रियाओं के एक निर्धारित सेट (जैसे अपाचे वेबसर्वर और एक टॉमकैट प्रक्रिया) की निगरानी करना चाहते हैं? उत्तरार्द्ध कुछ सरल Nagios या Cacti प्लगइन्स के साथ उल्लेखनीय है। पूर्व अधिक कठिन है। आपको यह स्पष्ट करना चाहिए।
स्टीफन लासिवस्की जू

मैंने पहले ही इसे पोस्ट में स्पष्ट कर दिया था लेकिन फिर से स्पष्ट करने के लिए: मैं सिस्टम की स्थिति जानना चाहता हूं जब यह स्वैप मौत के कारण नीचे जाता है। मैं जानना चाहता हूं कि सबसे खराब अपराधी कौन हैं। और btw, यह एक स्मृति रिसाव होना जरूरी नहीं है - बस यातायात का एक प्रवाह, या जो भी उच्च स्मृति उपयोग का कारण बनता है। तो, फिर से, बाइनरी नामों का कोई अग्रिम ज्ञान कॉन्फ़िगर नहीं किया जाना चाहिए।
आर्टेम रसाकोवस्की

संभव डुप्लिकेट - serverfault.com/questions/67234/…
वारन

वारेन, यह एक पूरी तरह से अलग सवाल है।
आर्टेम रसाकोवस्की

8
इस तरह की अच्छी गुणवत्ता वाली पोस्ट को बंद करना एक बुरी बात थी, खासकर 4 साल बाद।
पीटर कहते हैं मोनिका

जवाबों:


16

यह आप सिर्फ शीर्ष अपराधियों को चाहते हैं, topबैच मोड में अपेक्षाकृत लंबे अंतराल (60 सेकंड प्लस) के साथ चलने पर विचार करें। आपको topकई संसाधनों पर शीर्ष अपराधियों को पकड़ने के लिए एक से अधिक रन की आवश्यकता हो सकती है । topजब सिस्टम का उपयोग किया जा रहा था तो मैंने कुछ चक्रों को चलाने के लिए सिस्टम को कॉन्फ़िगर किया है।

sarसंसाधन उपयोग को पकड़ने के लिए बैच मोड में चलने पर विचार करें । मुझे लगता है कि यह सर्वर आधारित है, लेकिन यह समय निर्धारित करने के लिए उपयोगी है जब समस्याएं हो रही हैं।

muninसूचनाएं चलाएँ और सक्षम करें। इससे आपको सर्वर में जाने और नीचे जाने का मौका मिल सकता है। नीचे जाने से पहले आप समस्या को ठीक करने में सक्षम हो सकते हैं।

मेमोरी लीक के लिए, स्वैप उपयोग में लगातार वृद्धि एक समस्या को इंगित करती है। मैंने एक बार देखा कि एक सर्वर धीरे-धीरे दिनों की अवधि में मर रहा है। समस्या सेवा मेमोरी लीक के लिए अन्य प्रक्रियाओं की निगरानी करने वाला एक कार्यक्रम था। सिस्टम एडमिन बढ़ते हुए स्वैप उपयोग पर जोर देता रहा, तब तक कोई समस्या नहीं थी, जब तक कि सर्वर ने जवाब देना बंद नहीं कर दिया।

आपको लग सकता है कि cfengineसिस्टम की स्थिति पर कब्जा करने के लिए स्क्रिप्ट का उपयोग करने के लिए विसंगति का पता लगाया जा सकता है जब चीजें गलत हो जाती हैं। आप अधिकांश संसाधनों का उपयोग करने वाली प्रक्रियाओं के अलावा बहुत सी जानकारी चाहते हैं। उपयोग की अचानक आमद के लिए आप नेटवर्क कनेक्शनों की एक सूची (पता नाम से नहीं) चाहते हैं। मेमोरी का उपयोग भी उपयोगी है।


12

sysstat अपने उद्देश्य के लिए बहुत सटीक रूप से बनाया गया है।


यह वह जगह है जहाँ आपको शुरू करना चाहिए। आप नहीं जान सकते कि परीक्षा शुरू करने के लिए जब तक आप जानते हैं कि आपके पास सबसे अच्छा मौका कहां हो सकता है। Sysstat आप के लिए क्या देख रहे हैं (भी सुंदर रेखांकन है)। एक बार जब आप सिस्टमटैप का अधिक उपयोग जानते हैं।
एलन

9

मैंने पहले प्रयोग किया है:

http://freshmeat.net/projects/atop/

"एटॉप एक ASCII पूर्ण-स्क्रीन प्रदर्शन मॉनिटर है जो सभी प्रक्रियाओं की गतिविधि (भले ही प्रक्रियाएं अंतराल के दौरान समाप्त हो गई हैं) की रिपोर्टिंग करने में सक्षम है, दैनिक प्रणाली का लॉगिंग और लंबी अवधि के विश्लेषण के लिए प्रक्रिया गतिविधि, का उपयोग करके ओवरलोड सिस्टम संसाधनों को उजागर करना रंग, आदि नियमित अंतराल पर, यह सीपीयू, मेमोरी, स्वैप, डिस्क और नेटवर्क लेयर्स से संबंधित सिस्टम-स्तरीय गतिविधि दिखाता है, और प्रत्येक सक्रिय प्रक्रिया के लिए यह सीपीयू उपयोग, मेमोरी ग्रोथ, प्राथमिकता, उपयोगकर्ता नाम, राज्य, आदि को दर्शाता है। और निकास कोड। "


ऊपर एक रिपोर्ट है कि मुझे क्या मैं चाहता था के साथ प्रदान करेगा लगता नहीं है। कृपया मुझे सुधारें अगर मैं गलत हूं।
आर्टेम रसाकोवस्की

यह आपके पहले दो बुलेट पॉइंट (मेमोरी / सीपीयू बाय प्रोसेस) का ख्याल रखता है। आप इन आँकड़ों को इकट्ठा करने के लिए पुस्तकालय का उपयोग कर सकते हैं और फिर डेटा के आधार पर अपना इतिहास / रेखांकन कर सकते हैं।
निंजाकाट जूल 28'10

4
@ artem-russakovskii - डिफ़ॉल्ट रूप से प्रत्येक दस मिनट में एक फ़ाइल में डेटा लॉग होता है। यदि आपका सर्वर 3:45 पर क्रैश हो गया है, तो आप इसके साथ शुरू कर सकते हैं atop -r log_filename, mप्रति-प्रक्रिया मेमोरी उपयोग दृश्य पर स्विच करने के लिए दबाएं, और फिर t3:40 तक 10 मिनट की वेतन वृद्धि में आगे बढ़ने के लिए दबाएं । आपको कम से ऊपर का उपयोग करने का बुनियादी बातों के बारे में और अधिक पढ़ सकते हैं lwn.net/Articles/387202 और पर एक स्मृति रिसाव की पहचान करने का एक उदाहरण देख atoptool.nl/download/case_leakage.pdf
sciurus

6

क्या आपने सामूहिक प्रयास किया है?
यह बहुत शक्तिशाली और अनुकूलन योग्य है।
बहुत सारे प्लगइन्स हैं और नगियोस के साथ एकीकृत किया जा सकता है।

http://collectd.org/features.shtml


कलेक्ट बहुत हल्का है, सेट करने में बहुत मुश्किल नहीं है, और आपको समय के साथ मेमोरी / स्वैप विकास देखने देगा। हालांकि, यह अपमानजनक प्रक्रियाओं को इंगित नहीं करेगा - लेकिन हो सकता है कि आप समय पर मेमोरी वृद्धि को नोटिस और पकड़ सकें और स्थिति को मैन्युअल रूप से निरीक्षण कर सकें top
मारियस गेदमिनस जूल

1
मेरा कहना है कि मैंने उस प्लगइन की कोशिश नहीं की, लेकिन संग्रह के प्रक्रिया प्लगइन के मैनुअल से पढ़ना: "यदि प्रक्रियाओं को चुना जाता है तो निम्नलिखित जानकारी एकत्र की जाती है। यह सभी जानकारी प्रक्रिया नाम से एकत्रित होती है। इसका निवासी सेगमेंट आकार, प्रयुक्त उपयोगकर्ता- और सिस्टम-टाइम, उस नाम से प्रक्रियाओं की संख्या, थ्रेड्स की संख्या (सभी प्रक्रियाओं पर सारांशित), प्रमुख और लघु पृष्ठ दोषों की संख्या। किसी न किसी I / O- संख्या (बाइट्स के कारण लिखा और पढ़ा गया)। इस प्रक्रिया से syscalls के लिए)
PiL

आप प्रक्रियाओं या नाम या regex द्वारा चयन कर सकते हैं।
पी.आई.एल. जूल

2

नागोसियो के शीर्ष पर सेंट्रीओन, एनआरपीई के साथ नागोइज़ युग्मित। फिर आप एनआरपीई के किसी भी प्रारूप में डेटा की रिपोर्ट करने के लिए कस्टम स्क्रिप्ट लिख सकते हैं। नागिओस ने NRPE और Centreon के साथ रिमोट सर्वर से डेटा का सर्वेक्षण किया और एक सुंदर ग्राफ बनाया और उपयोगकर्ता लचीलेपन का एक टन जोड़ा। हम इसे http://beyondhosting.net पर उपयोग करते हैं। मेरे पास पहले से ही एक वीजेड कंटेनर टेम्पलेट है जिसमें सेंट्रीओन + नगियोस सेटअप है अगर आप इसे चाहते हैं।

रेखांकन सेंट्रेन hostthenpost.org/tyler/2010-07-23__1719.png बनाता है


मैं उन चीजों की रिपोर्टिंग के लिए एक तैयार समाधान चाहता हूं, जो सबसे महत्वपूर्ण रूप से सबसे अधिक मेमोरी का उपभोग करने वाली प्रक्रियाएं हैं। मुझे भी यकीन नहीं है कि वीजेड क्या है।
आर्टेम रसाकोवस्की

2

nmon एक महान उपकरण है जो वह करता है जो आप खोज रहे हैं। AIX और Linux के लिए विकसित किया गया। विस्तृत आउटपुट का एक टन और रिपोर्ट में डालने में आसान। यदि आप इसे गूगल करते हैं, तो एक आईबीएम विकी है जिसमें डेटा को पार्स करने के लिए प्रलेखन और अतिरिक्त उपयोगिताओं का एक गुच्छा है।


2

सर्वर घनत्व आप क्या वर्णन करते हैं।

मैं इसे हमारे उत्पादन सर्वरों में से एक पर उपयोग करता हूं और इसके बारे में बहुत खुश हूं। यह शीर्ष विशेषता चार्ट को देखने की क्षमता है, एक चोटी पर क्लिक करें और उस मौजूदा समय में सर्वर सीपीयू / मेमोरी की खपत देखें, जिसमें सभी चल रही प्रक्रियाएं शामिल हैं। वे इसे स्नैपशॉट कहते हैं ।

इसमें लगातार सुधार हो रहा है। नवीनतम विशेषताओं में से एक विसंगति का पता लगाना है , जो आपको आसानी से विसंगतियों का पता लगाने की अनुमति देता है। आप विभिन्न ट्रेशोल्ड को भी सेटअप कर सकते हैं


1
आह, मैं उस छोटे हिस्से का उल्लेख करना भूल गया, जहां मैं इसे मुक्त करना पसंद करूंगा, और यदि संभव हो तो खुला स्रोत। $ 100 प्रति सर्वर वास्तव में वह नहीं है जो मैं खर्च करना चाहता हूं (और मेरे पास केवल 1 सर्वर है, 5 नहीं)। serverdensity.com/pricing
आर्टेम रसाकोवस्की


2

जब मैंने एक समान प्रश्न पूछा तो उत्तर दिए गए :

इकापान ने कहा :

मुनिन स्थापित करने और कॉन्फ़िगर करने में न्यूनतम प्रयास के साथ अपटाइम ग्राफ़ प्राप्त करने का सबसे आसान तरीका है। मैं कुछ प्रक्रिया द्वारा कुल cpu उपयोग के लिए भी उपयोग करता हूं, लेकिन यह वह नहीं है जो आपने पूछा था।

डेविड स्पिललेट ने कहा :

मैं कई अन्य मापदंडों के बीच सिस्टम लोड को रिकॉर्ड करने के लिए संग्रहण का उपयोग करता हूं । यह आरआरडी स्टोर में डेटा संग्रहीत करता है जिसे कई उपलब्ध टूल और स्क्रिप्ट का उपयोग करके ग्राफ किया जा सकता है और अन्यथा विश्लेषण किया जा सकता है। मैं अपनी रेखांकन ( नमूना आउटपुट ) के लिए इस स्क्रिप्ट के एक संशोधित संस्करण का उपयोग करता हूं ।

कलेक्ट में बहुत सारे सामानों की निगरानी के लिए प्लगइन्स होते हैं (शीर्ष पर आमतौर पर पूछी जाने वाली और कुछ चीजें), और अपनी खुद की रचना मुश्किल नहीं होनी चाहिए यदि आपको किसी विशेष चीज की आवश्यकता है, तो यह बहुत ही लचीले टूल के लिए बनाता है। Rrd.cgi में ग्राफ़ को कॉन्फ़िगर करना एक बहुत ही मैन्युअल प्रक्रिया है, हालांकि मुश्किल नहीं है, हालांकि आप अच्छी तरह से संग्रह द्वारा बनाए गए आरआरडी फ़ाइलों के साथ काम करने के लिए एक अधिक सुविधाजनक उपकरण पा सकते हैं।

तुम भी Nagios या OpenNMS की जाँच कर सकते हैं।


1

मुनिन आप सभी को नागोसि या किसी अन्य उपकरण की आवश्यकता के बिना बॉक्स से बाहर क्या करेगा। OpenSUSE के लिए उपलब्ध RPM हैं।


क्या यह एक प्लगइन के साथ करता है। यदि हां, तो कौन सा? मैं ऐसी कोई खोज नहीं कर सका हूँ जिसे मॉनिटर करने के लिए प्रक्रियाओं की पूर्व-कॉन्फ़िगर सूची की आवश्यकता नहीं है।
आर्टेम रसाकोवस्की

यह आपके मूल प्रश्न से स्पष्ट नहीं था कि आप प्रक्रियाओं की पूर्व-निर्धारित सूची की निगरानी नहीं करना चाहते हैं - क्या आप अपनी आवश्यकताओं पर अधिक विवरण प्रदान कर सकते हैं?
gareth_bowles

स्पष्टीकरण: प्रक्रिया के नाम नहीं हैं और पहले से ज्ञात नहीं होना चाहिए - विचार सिर्फ इसे मॉनिटर करने के लिए है और फिर शीर्ष दावेदारों पर एक नज़र है।
आर्टेम रसाकोवस्की

1

हो सकता है कि अच्छा पुराना ओप्रोफाइल आपको क्या चाहिए? यह एक कर्नेल-आधारित प्रणाली-स्तरीय प्रोफाइलर है जिसमें केवल एक छोटा (पर्केंट्स का एक जोड़ा) ओवरहेड है।

फिर एक उत्कृष्ट पर्ल स्क्रिप्ट, PSMon है , जो आपको सभी प्रकार के सीपीयू / मेमोरी लिमिट सेट करने की अनुमति देता है। यदि वे पार हो गए हैं, तो psmon एक त्रुटि दर्ज करेगा और / या आपत्तिजनक प्रक्रिया को मार देगा।

उत्तरार्द्ध आपको किसी भी प्रोफाइलिंग रिपोर्ट का उत्पादन नहीं करेगा, लेकिन अगर यह एक ही प्रक्रिया को बार-बार मारने का फैसला करता है, तो आप शायद उस बुरा कमीने को पा सकते हैं जिसे आप ढूंढ रहे थे। :-)

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