नेटवर्क प्रतीक्षा 'शीर्ष' में कहाँ जाती है?


9

यदि शीर्ष उच्च लोड दिखा रहा है, और आप नहीं जानते कि क्या प्रक्रिया के कारण यह प्रोसेसर समय कर रहा है या नेटवर्क i / o (स्थानीय i / o नहीं) कर रहा है तो आप यह कैसे पता लगा सकते हैं?

हमारे सर्वर पर मुझे लोड के लिए उच्च मूल्य दिखाई देते हैं, लेकिन 60% -70% निष्क्रिय और लगभग 25% उपयोगकर्ता के साथ संयोजन में। मैं जानना चाहता हूं कि इस तरह के मूल्यों को कैसे बदलना है, लेकिन इंटरनेट पर मैंने लगभग हमेशा पढ़ा है कि आप iostat का उपयोग करके देख सकते हैं कि क्या प्रक्रिया आपके डिस्क को ट्रैश कर रही है। लेकिन मुझे पहले से ही पता है कि यह मामला नहीं है। विचाराधीन प्रक्रिया को अपना काम करने में परेशानी नहीं होती है, लेकिन फिर भी लोड अधिक है।

तो, क्या यह पता लगाने का एक तरीका है कि नेटवर्क प्रतीक्षा के कारण कौन सा भाग वास्तविक प्रोसेसर समय के कारण होता है? और शीर्ष में 'निष्क्रिय' का अर्थ क्या है?

स्पष्टता के लिए: लोड के साथ मेरा मतलब 3 नंबर है जो प्रति कोर औसत कतार प्रक्रियाओं को दर्शाता है। इस मशीन पर 8 कोर हैं और संख्या 25 तक मिलती है, इसलिए यह प्रति कोर 2.5 का भार है।


आप "लोड" क्या कह रहे हैं: CPU उपयोग, या 3 "लोड औसत" मान ( uptimeआउटपुट में देखा गया )?
spuk

1
प्रश्न का कोई मतलब नहीं है ... नेटवर्क IO के लिए प्रतीक्षा करने से किसी भी CPU समय का उपयोग नहीं होता है।
Psusi

2
मुझे htopप्रक्रियाओं में सहूलियत के लिए उपयोगिता पसंद है। विशेष रूप से यह आप एक प्रक्रिया चयन करें और फिर उपयोग करने के लिए अनुमति दे सकते हैं lआदेश, यह आप का उपयोग कर सभी खुले फाइलों को दिखायेगा lsofसहित IPv4और IPv6धारा उपकरणों और इस तरह के। यदि आपने straceअपने बॉक्स पर स्थापित किया है तो आप सिस्टम कॉलिंग और सिग्नल डीबगिंग भी कर सकते हैं। ठीक एक उत्तर नहीं है, लेकिन एक और उपकरण जो आप जांचने की कोशिश कर रहे हैं, उस पर विचार करूंगा।
१११ ---

मेरा मतलब 3 नंबर से है। जैसा कि मैं समझता हूँ कि वे "लोड" कहा जाता है, या मैं गलत यहाँ हूँ? वे कतार में उन प्रक्रियाओं की संख्या का प्रतिनिधित्व करते हैं जिन्हें निष्पादित किया जा सकता है, लेकिन क्या ऐसी प्रक्रियाएं भी शामिल हैं जिनमें नेटवर्क प्रतीक्षा है, या क्या यह प्रक्रियाओं को बाहर नहीं करता है?
जनवरी

और आप "उच्च" के रूप में क्या परिभाषित करते हैं? लोड औसत कोर के लिए नहीं बढ़ाया जाता है। उदाहरण के लिए, 1 और 4 कोर के लोड औसत के साथ एक प्रणाली 1/4 लोड के साथ एक प्रणाली के रूप में भरी हुई है जिसमें 1 और केवल 1 कोर का लोड औसत है। लोड औसत एक बहुत ही मोटे नंबर है।
बहमट

जवाबों:


3

यदि शीर्ष उच्च लोड दिखा रहा है, और आप नहीं जानते कि क्या प्रक्रिया के कारण यह प्रोसेसर समय कर रहा है या नेटवर्क i / o (स्थानीय i / o नहीं) कर रहा है तो आप यह कैसे पता लगा सकते हैं?

लिनक्स Iowait मीट्रिक में नेटवर्क I / O को ध्यान में नहीं रखा जाता है, जब तक कि यह एक NFS लेनदेन का हिस्सा नहीं है, जिस स्थिति में इसे डिस्क I / O माना जाता है।

तो, क्या यह पता लगाने का एक तरीका है कि नेटवर्क प्रतीक्षा के कारण कौन सा भाग वास्तविक प्रोसेसर समय के कारण होता है?

एक काल्पनिक एनएफएस प्रतीक्षा के बाहर, नेटवर्क प्रतीक्षा द्वारा औसत लोड के सभी हिस्से का कोई हिस्सा नहीं लिया जाता है।

और शीर्ष में 'निष्क्रिय' का अर्थ क्या है?

इसका मतलब है कि सीपीयू का प्रतिशत किसी अन्य सूचीबद्ध राज्य (उपयोगकर्ता, सिस्टम, अच्छा, iowait, हार्डवेयर व्यवधान, सॉफ़्टवेयर व्यवधान, चोरी) में नहीं है। इसमें नेटवर्क वेट शामिल है। निष्क्रिय होने पर, सीपीयू अनिवार्य रूप से कुछ भी नहीं करता है। ध्यान दें कि iowait निष्क्रिय समय भी है क्योंकि सीपीयू कुछ भी नहीं करता है।


आपके उत्तर के लिए धन्यवाद। तो मेरी स्थिति में जहाँ मैं एक उच्च निष्क्रिय मूल्य (60% - 70%) देख सकते हैं और कम उपयोगकर्ता राज्य (% के आसपास 25) और कम iowait, इसका मतलब यह हो सकता है कि सर्वर, नेटवर्क संसाधनों के लिए इंतज़ार कर रहा है, तो मैं तुम्हें सही ढंग से समझ।
जनवरी

1
जरूरी नेटवर्क संसाधनों के लिए इंतजार नहीं है। यह बस हो सकता है कि सीपीयू इतना तेज हो कि सभी को पूरा किया जा सके। उच्च लोड औसत संभवतः सीपीयू के लिए एक साथ प्रतिस्पर्धा करने वाले थ्रेड्स की बहुत अधिक संख्या के कारण होता है लेकिन बहुत कम समय के दौरान।
जूलियाग्रे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.