मैं यह कैसे पता लगा सकता हूं कि सीपीयू, मेमोरी या डिस्क में कोई प्रक्रिया है?
मैं यह कैसे पता लगा सकता हूं कि सीपीयू, मेमोरी या डिस्क में कोई प्रक्रिया है?
जवाबों:
इसके लिए कुछ वूडू की जरूरत होती है। निर्भर करता है। उदाहरण:
यदि पर्याप्त मेमोरी और डिस्क बहुत व्यस्त नहीं लगती हैं, तो यह सीपीयू-बाउंड हो सकता है । CPU उपयोग को देखें और यदि इसकी सीमा 100% है तो यह CPU बाध्य है। यदि यह कार्यान्वयन में एक कृत्रिम अड़चन नहीं है। उदाहरण के लिए एक दोहरे कोर सीपीयू पर एक थ्रेडेड प्रक्रिया 50% सीपीयू उपयोग से ऊपर नहीं जाएगी।
यदि CPU और मेमोरी उपलब्ध हैं, लेकिन डिस्क बहुत व्यस्त हैं, या IO विलंबता उच्च लगती है, तो इसकी संभावना है कि इसका IO बाध्य है। देखें कि क्या अधिक डिस्क (RAID?) जोड़ने से मदद मिलती है।
इनमे से कोई भी नहीं? उपलब्ध स्मृति की जाँच करें।
पर्याप्त स्मृति? इस प्रक्रिया में एक कृत्रिम अड़चन हो सकती है यानी शायद कोई नींद निकालना भूल गया हो (1)? नाह इसकी आसान नहीं है। ;)
एक कारण है कि हमारे पास प्रदर्शन संवेदनशील उत्पादों से निपटने वाली अधिकांश कंपनियों में प्रदर्शन इंजीनियरों के लिए एक पूरी लैब है!
संपूर्ण समस्याओं पर डीबग करने के लिए सर, vmstat, iostat, oprofile, lockstat, dtrace, उत्पाद विशिष्ट पूर्ण निगरानी उपकरण आदि जैसे उपकरणों का उपयोग करें।
के रूप में अच्छी तरह से उल्लेख किया अन्य उपकरण, चलाने के लिए ps l PID
, प्रासंगिक प्रक्रिया आईडी डालने, या शीर्ष या htop में स्टेट और WCHAN कॉलम को देखो।
यदि यह डी (डिस्क के लिए) स्थिति में है, तो यह फाइल आईओ कर रहा है। यह हो सकता है क्योंकि यह या तो बहुत सारी फ़ाइलों को पढ़ रहा है, या क्योंकि यह बहुत अधिक मेमोरी और स्वैपिंग का उपयोग कर रहा है। WCHAN कॉलम आपको बताएगा कि यह किस कर्नेल फ़ंक्शन के अंदर है; उनके लिए गुगली करना या यहाँ पूछना आपको कुछ संकेत दे सकता है कि उनका क्या मतलब है।
यदि यह आर (रन) स्थिति में है, तो यह उपयोगकर्ता के स्थान पर सीपीयू का उपयोग कर रहा है, दूसरे शब्दों में यह उस समय सीपीयू है।
यदि यह S (स्लीप) स्थिति में है, तो यह एक व्यवधानपूर्ण सिस्टम कॉल के अंदर है, जिसका अर्थ यह हो सकता है कि यह वास्तव में सो रहा है, या यह नेटवर्क ट्रैफ़िक या लॉक की प्रतीक्षा में कुछ कर रहा है। फिर से, विशिष्ट wchan को देखकर आपको और अधिक बताएगा।
यह भी देखें कि एक प्रक्रिया का "प्रतीक्षा चैनल" क्या है?