यदि शीर्ष उच्च लोड दिखा रहा है, और आप नहीं जानते कि क्या प्रक्रिया के कारण यह प्रोसेसर समय कर रहा है या नेटवर्क i / o (स्थानीय i / o नहीं) कर रहा है तो आप यह कैसे पता लगा सकते हैं?
हमारे सर्वर पर मुझे लोड के लिए उच्च मूल्य दिखाई देते हैं, लेकिन 60% -70% निष्क्रिय और लगभग 25% उपयोगकर्ता के साथ संयोजन में। मैं जानना चाहता हूं कि इस तरह के मूल्यों को कैसे बदलना है, लेकिन इंटरनेट पर मैंने लगभग हमेशा पढ़ा है कि आप iostat का उपयोग करके देख सकते हैं कि क्या प्रक्रिया आपके डिस्क को ट्रैश कर रही है। लेकिन मुझे पहले से ही पता है कि यह मामला नहीं है। विचाराधीन प्रक्रिया को अपना काम करने में परेशानी नहीं होती है, लेकिन फिर भी लोड अधिक है।
तो, क्या यह पता लगाने का एक तरीका है कि नेटवर्क प्रतीक्षा के कारण कौन सा भाग वास्तविक प्रोसेसर समय के कारण होता है? और शीर्ष में 'निष्क्रिय' का अर्थ क्या है?
स्पष्टता के लिए: लोड के साथ मेरा मतलब 3 नंबर है जो प्रति कोर औसत कतार प्रक्रियाओं को दर्शाता है। इस मशीन पर 8 कोर हैं और संख्या 25 तक मिलती है, इसलिए यह प्रति कोर 2.5 का भार है।
htop
प्रक्रियाओं में सहूलियत के लिए उपयोगिता पसंद है। विशेष रूप से यह आप एक प्रक्रिया चयन करें और फिर उपयोग करने के लिए अनुमति दे सकते हैं l
आदेश, यह आप का उपयोग कर सभी खुले फाइलों को दिखायेगा lsof
सहित IPv4
और IPv6
धारा उपकरणों और इस तरह के। यदि आपने strace
अपने बॉक्स पर स्थापित किया है तो आप सिस्टम कॉलिंग और सिग्नल डीबगिंग भी कर सकते हैं। ठीक एक उत्तर नहीं है, लेकिन एक और उपकरण जो आप जांचने की कोशिश कर रहे हैं, उस पर विचार करूंगा।
uptime
आउटपुट में देखा गया )?