यह निर्धारित करने के लिए मैं शीर्ष (या समतुल्य) का उपयोग कैसे करूं कि क्या कोई प्रक्रिया बुरी तरह से व्यवहार कर रही है?


0

क्या कोई संकेतक है जब एक प्रक्रिया "अंधेरे की ओर चली गई है"?

मुझे लगता है कि मेमोरी लीक (या अन्य समस्याओं, मेरी सीमित शब्दावली का बहाना करना) जैसी चीजों का पता लगाने के लिए केवल MEM% और CPU% का उपयोग करने के लिए खराब संकेतक हैं, क्योंकि कार्यक्रम की पर्याप्त जानकारी के बिना, यह जानना मुश्किल है कि कार्यक्रम कितना मेमोरी या CPU है "उपयोग करना चाहिए।

तो कैसे मैं वास्तव में बुरा प्रक्रियाओं बनाम महंगे लोगों को suss?


gone over to the dark side???? यदि आप इसका ठीक-ठीक उल्लेख नहीं करते हैं कि आप इसका क्या मतलब है, तो आप कैसे topमदद करने की उम्मीद कर सकते हैं?
मारियसमैटुटिया

जवाबों:


0

मुझे लगता है कि यह जानना मुश्किल है कि एक प्रोग्राम को कितने संसाधनों का "उपयोग" करना चाहिए लेकिन कुछ संकेतक हैं जिन्हें आप देख सकते हैं कि प्रोग्राम को संभालने के लिए आपके सिस्टम के लिए पर्याप्त संसाधन हैं या नहीं।

सबसे पहले, हम इस प्रक्रिया के लिए PID की जाँच करते हैं (जैसे कि प्रक्रिया का नाम डेटासेवर है):

ps aux | grep dataserver
sybxxx     795 52.9  0.0 1190088 22548 ?       S<sl Jun06 38192:51 /sybase/XXX/ASE-16_0/bin/dataserver

यहां हमें पता है कि प्रक्रिया आईडी 795 है, इसलिए हम पिडस्टेट कमांड का उपयोग करते हैं :

pidstat -h -r -u -p 795 5
Time       PID   %usr    %system  %guest  %CPU   CPU  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
1469520679  795  242.80    5.00    0.00  247.80  24    0.00      0.00     53618888  22548   0.02  dataserver

आउटपुट से, हम जानते हैं कि प्रक्रिया लगभग 2.4 सीपीयू कोर का उपयोग कर रही है, जबकि सिस्टम को 24 कोर स्थापित किए गए हैं। इसके अलावा, प्रतिशत में उपयोग की गई स्मृति स्थापित स्मृति की कुल मात्रा में लगभग 0.02% है।

इस तरह की जानकारी के अलावा, मुझे लगता है कि संसाधनों की कमी को रोकने के लिए एक सामान्य प्रणाली की जाँच करना पर्याप्त होगा।

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

सामान्य स्थिति में, iostat का उत्पादन निम्नानुसार होगा:

sar
12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      0.70      0.00      0.15      0.01      0.00     99.13

% बेकार का मान उच्च होना चाहिए जबकि गैर-व्यस्त प्रणाली के लिए% उपयोगकर्ता,% प्रणाली और% iowait का मान कम होना चाहिए।

के लिए डिस्क मैं / हे बात नहीं, आप जाँच कर सकते हैं का परिणाम iostat -x :

Device: rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda     0.07     1.58    0.27    1.04    13.72    20.87    26.54     0.01    7.50   3.33   0.43
sdc     4.09   252.47  483.10    5.90 18616.61  2148.57    42.46     5.88   12.03   1.99  97.29

यह एक बुरा उदाहरण है, जैसा कि आप देख सकते हैं कि डिवाइस sdc के लिए उपयोग का प्रतिशत 97.29% हो गया है जो इंगित करता है कि डिस्क I / O समस्या है।

यह जाँचने के लिए कि क्या हमारे पास सिस्टम के लिए पर्याप्त मेमोरी है, पेजिंग उपयोग पर एक नज़र डालें:

sar -B
10:30:01 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
10:40:01 AM   8524.25     47.12    856.03      0.00    263.76      0.00      0.00      0.00      0.00
10:50:01 AM   8391.64     82.94   1116.50      0.08    377.87      0.00      0.00      0.00      0.00

जैसा कि हम देख सकते हैं कि प्रति सेकंड पेजिंग इस सर्वर के लिए बहुत अधिक है, इसलिए हम संदेह कर सकते हैं कि सिस्टम मेमोरी से बाहर चल रहा है।


0

मैं आमतौर पर पहले लोड को देखता हूं। यदि 3 में से 2 नंबर 3 से ऊपर हैं तो आप गलत दिशा में जा रहे हैं। 3 में से किसी भी संख्या के लिए 8 से अधिक का लोड एक गंभीर समस्या है जिसका अर्थ है कि आप एक प्रक्रिया के कई कांटे चला रहे हैं या आपकी मशीन सिर्फ यह संभालने के लिए सुसज्जित नहीं है कि आप क्या करने की कोशिश कर रहे हैं। उदाहरण: बहुत कम कोर के साथ इस पर बहुत सारी नौकरियों के साथ एक टॉर्क बैच सर्वर चलाना।

फिर यदि आपकी कोई प्रक्रिया CPU की बढ़ती मात्रा का उपयोग कर रही है, तो यह मेमोरी लीक की समस्याओं का भी एक बुरा संकेत है या यह भी हो सकता है कि आप क्रोम / फ़ायरफ़ॉक्स नामक घटकों का उपयोग कर रहे हों :) दरअसल फ़ायरफ़ॉक्स संलग्न का उपयोग करने से बुरी तरह से पीड़ित है स्काइप जैसे प्लगइन्स जो पुराने संस्करणों में ओवरफ्लो का कारण बनते हैं।

एक और संकेतक एक ही प्रकार की बड़ी संख्या में प्रायोजित प्रक्रिया है, लेकिन हमेशा एक मुद्दा नहीं है।

और मुद्दों के वास्तव में शुरुआती संकेतक में से एक एक प्रक्रिया है जो चिह्नित है [विचलित], क्योंकि यह तब विघटनकारी है, जैसे कि ज्यादातर लोग मुझे जानते हैं!

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