सवाल लिनक्स सर्वर में स्मृति उपयोग और लोड औसत को कैसे समझें


मैं एक लिनक्स सर्वर का उपयोग कर रहा हूं जिसमें 128 जीबी मेमोरी और 24 कोर हैं। मैं यह देखने के लिए शीर्ष का उपयोग करता हूं कि इसका कितना उपयोग किया जाता है। इसके आउटपुट को पोस्ट के अंत में चिपकाया जाता है। यहां दो प्रश्न हैं:

(1) मैं देखता हूं कि प्रत्येक चल रही प्रक्रियाओं में स्मृति का बहुत छोटा प्रतिशत (% एमईएम 0.2% से अधिक नहीं है, और सबसे अधिक 0.0%) है, लेकिन आउटपुट की चौथी पंक्ति में कुल मेमोरी का लगभग उपयोग कैसे किया जाता है ( "मेम: 130766620k कुल, 130161072k प्रयुक्त, 605548k मुफ्त, 9 1 9 300k बफर")? सभी प्रक्रियाओं पर स्मृति के प्रयुक्त प्रतिशत का योग लगभग 100% हासिल करने की संभावना नहीं है, है ना?

(2) पहली पंक्ति पर लोड औसत को कैसे समझें ("लोड औसत: 14.04, 14.02, 14.00")?

धन्यवाद एवं शुभकामनाएँ!

संपादित करें:

धन्यवाद!

यह भी निर्धारित करने के लिए कि क्या एक सर्वर भारी लोड हो रहा है, यह निर्धारित करने के लिए स्मृति के प्रयुक्त प्रतिशत के आधार पर कुछ अजीब संख्याएं भी सुनना पसंद है, क्योंकि मैं एक बार बन गया था जो वर्तमान लोड को समझे बिना सर्वर को क्रोधित करता था।

क्या स्वैप लगभग स्मृति के समान माना जाता है? उदाहरण के लिए, जब स्मृति और स्वैप लगभग समान आकार के होते हैं, यदि स्मृति लगभग चल रही है लेकिन स्वैप अभी भी काफी हद तक मुक्त है, तो क्या मैं इसे देख सकता हूं जैसे स्मृति का उपयोग प्रतिशत + स्वैप अभी भी ऊंचा नहीं है और अन्य नया चलाता है प्रक्रियाओं?

आप सीपीयू या मेमोरी (या मेमोरी + स्वैप) उपयोग को एक साथ कैसे मानेंगे? क्या आप चिंतित हो जाते हैं यदि उनमें से कोई भी बहुत अधिक या दोनों तक पहुंच जाए?

शीर्ष का आउटपुट:

$ शीर्ष

 
शीर्ष - 12:45:33 ऊपर 1 9 दिन, 23:11, 18 उपयोगकर्ता, भार औसत: 14.04, 14.02, 14.00
कार्य: 484 कुल, 12 चल रहा है, 472 सो रहा है, 0 बंद, 0 ज़ोंबी
सीपीयू: 36.7% हमें, 1 9 .7% सी, 0.0% एनआई, 43.6% आईडी, 0.0% वा, 0.0% हाय, 0.0% सी, 0.0% सेंट
मेम: 130766620k कुल, 130161072k प्रयुक्त, 605548k मुक्त, 9 1 9 300k बफर
स्वैप: 63111312k कुल, 500556k प्रयुक्त, 62610756k मुक्त, 124437752k कैश

  पीआईडी ​​यूजर पीआर एनआई वीआईआरटी आरईएस एसआर% सीपीयू% एमईएम टाइम + कमांड
 6529 संचेज़ 18 -2 1075 मीटर 21 9 मीटर 13 मीटर एस 100 0.2 13760: 23 MATLAB
13210 टिमोथी 18 -2 48336 37 मीटर 1216 आर 100 0.0 3: 56.75 बेतुकापन
13888 टिमोथी 18 -2 48336 37 मीटर 1204 आर 100 0.0 2: 04.89 बेतुकापन
14542 टिमोथी 18 -2 48336 37 एम 1196 आर 100 0.0 1: 08.34 बेतुकापन
14544 टिमोथी 18 -2 2888 2076 400 आर 100 0.0 1: 06.14 collectData
 6183 संचेज़ 18 -2 1133 मीटर 1 9 एमएम 13 मीटर एस 100 0.2 13676: 04 MATLAB
 6795 सांचेज़ 18 -2 1079 मीटर 210 मीटर 13 मीटर एस 100 0.2 13734: 26 MATLAB
10178 टिमोथी 18 -2 48336 37 मीटर 1204 आर 100 0.0 11: 33.93 बेतुकापन
12438 टिमोथी 18 -2 48336 37 मीटर 1216 आर 100 0.0 5: 38.17 बेतुकापन
13661 टिमोथी 18 -2 48336 37 मीटर 1216 आर 100 0.0 2: 44.13 बेतुकापन
140 9 8 टिमोथी 18 -2 48336 37 मीटर 1204 आर 100 0.0 1: 58.31 बेतुकापन
14335 टिमोथी 18 -2 48336 37 एम 1196 आर 100 0.0 1: 08.93 बेतुकापन
14765 टिमोथी 18 -2 48336 37 एम 1196 आर 99 0.0 0: 32.57 बेतुकापन
13445 टिमोथी 18 -2 48336 37 मीटर 1216 आर 99 0.0 3: 01.37 बेतुकापन
28 9 0 9 रूट 20 0 0 0 एस 2 0.0 65: 50.21 पीडीएफएलश
12141 समय 18 -2 1 9 380 1660 1024 आर 1 0.0 0: 04.04 शीर्ष
 1240 रूट 15 -5 0 0 0 एस 0 0.0 16: 07.11 kjournald
 901 9 रूट 20 0 2 9 6 एम 4460 2616 एस 0 0.0 82: 19.51 केडीएम_ग्रीट
    1 रूट 20 0 4028 728 592 एस 0 0.0 0: 03.11 init
    2 रूट 15 -5 0 0 0 एस 0 0.0 0: 00.00 kthreadd
    3 रूट आरटी -5 0 0 0 एस 0 0.0 0: 01.01 माइग्रेशन / 0
    4 रूट 15 -5 0 0 0 एस 0 0.0 0: 08.13 ksoftirqd / 0
    5 रूट आरटी -5 0 0 0 एस 0 0.0 0: 00.00 वॉचडॉग / 0
    6 रूट आरटी -5 0 0 0 एस 0 0.0 17: 27.31 माइग्रेशन / 1
    7 रूट 15 -5 0 0 0 एस 0 0.0 0: 01.21 ksoftirqd / 1
    8 रूट आरटी -5 0 0 0 एस 0 0.0 0: 00.00 वॉचडॉग / 1
    9 रूट आरटी -5 0 0 0 एस 0 0.0 10: 02.56 माइग्रेशन / 2
   10 रूट 15 -5 0 0 0 एस 0 0.0 0: 00.34 ksoftirqd / 2
   11 रूट आरटी -5 0 0 0 एस 0 0.0 0: 00.00 वॉचडॉग / 2
   12 रूट आरटी -5 0 0 0 एस 0 0.0 4: 2 9 .5 माइग्रेशन / 3
   13 रूट 15 -5 0 0 0 एस 0 0.0 0: 00.34 ksoftirqd / 3

54
2017-09-22 16:59


मूल


स्मृति के बारे में एक अच्छे जवाब के लिए इसे देखें। serverfault.com/questions/38065/#38074 - Zoredache
तथा यह जवाब भार औसत के बारे में एक त्वरित सारांश के लिए (या यह लंबे समय से पढ़ा विवरण के लिए)। - Nickolay


जवाब:


(1) मैं देखता हूं कि प्रत्येक चल रही प्रक्रियाओं में स्मृति का बहुत छोटा प्रतिशत (% एमईएम 0.2% से अधिक नहीं है, और सबसे अधिक 0.0%) है, लेकिन आउटपुट की चौथी पंक्ति में कुल मेमोरी का लगभग उपयोग कैसे किया जाता है ( "मेम: 130766620k कुल, 130161072k प्रयुक्त, 605548k मुफ्त, 9 1 9 300k बफर")? सभी प्रक्रियाओं पर स्मृति के प्रयुक्त प्रतिशत का योग लगभग 100% हासिल करने की संभावना नहीं है, है ना?

यह देखने के लिए कि आप वर्तमान में कितनी मेमोरी का उपयोग कर रहे हैं, चलाएं free -m। यह आउटपुट प्रदान करेगा:

             कुल इस्तेमाल किए गए मुफ्त साझा बफर कैश किए गए
मेम: 2012 1 9 23 88 0 91 515
- / + बफर / कैश: 1316 695
स्वैप: 3153 256 28 9 6

शीर्ष पंक्ति 'प्रयुक्त' (1 9 23) मान लगभग हमेशा शीर्ष पंक्ति ज्ञापन मान (2012) से मेल खाता है। चूंकि लिनक्स डिस्क ब्लॉक (515) को कैश करने के लिए किसी भी अतिरिक्त मेमोरी का उपयोग करना पसंद करता है।

देखने के लिए उपयोग की जाने वाली कुंजी बफर / कैश पंक्ति का उपयोग मूल्य (1316) है। यह है कि वर्तमान में आपके एप्लिकेशन कितने स्थान का उपयोग कर रहे हैं। सर्वोत्तम प्रदर्शन के लिए, यह संख्या आपकी कुल (2012) मेमोरी से कम होनी चाहिए। स्मृति त्रुटियों से बचने के लिए, इसे कुल मेमोरी (2012) और स्वैप स्पेस (3153) से कम होना चाहिए।

यदि आप जल्दी से देखना चाहते हैं कि बफर / कैश पंक्ति मुक्त मूल्य (695) पर कितनी मेमोरी मुक्त है। यह कुल स्मृति (2012) है - वास्तविक उपयोग (1316)। (2012 - 1316 = 696, 695 नहीं, यह सिर्फ एक गोल मुद्दा होगा)

(2) पहली पंक्ति पर लोड औसत को कैसे समझें ("लोड औसत: 14.04, 14.02, 14.00")?

लोड औसत पर यह लेख एक अच्छा यातायात समानता का उपयोग करता है और अब तक का सबसे अच्छा मुझे मिला है: लिनक्स सीपीयू लोड को समझना - आपको कब चिंतित होना चाहिए?। आपके मामले में, जैसा कि लोगों ने बताया:

बहु-प्रोसेसर सिस्टम पर, लोड प्रोसेसर कोर की संख्या के सापेक्ष है। "100% उपयोग" चिह्न एक सिंगल-कोर सिस्टम पर 2.00 है, 2.00, दोहरी कोर पर, 4.00 क्वाड-कोर आदि पर।

तो, 14.00 और 24 कोर के लोड औसत के साथ, आपका सर्वर अधिभारित होने से बहुत दूर है।


54
2017-09-22 21:33



+1 दिलचस्प लिंक, धन्यवाद! - Marco Demaio


लिनक्स समेत सिस्टम जैसे यूनिक्स को उपलब्ध रैम का सबसे प्रभावी उपयोग करने के लिए डिज़ाइन किया गया है। बहुत सामान्य शब्दों में, रैम के प्रत्येक एमबी में 3 राज्य हैं:

  1. मुक्त
  2. एक प्रक्रिया द्वारा प्रयुक्त
  3. बफर के लिए प्रयुक्त

तीसरा राज्य केवल स्क्रैच स्पेस के रूप में उपयोग किया जाता है और जब भी आवश्यक हो, फिर से असाइन किया जा सकता है, यानी कार्यक्रमों के लिए आपकी कुल उपलब्ध स्मृति वास्तव में नि: शुल्क + प्रयुक्तforBuffers है। इस प्रकार, आप वास्तव में बफर आवंटित स्थान को किसी विशिष्ट प्रक्रिया को निर्दिष्ट के रूप में नहीं दिखाएंगे।

आपका लोड औसत प्रश्न थोड़ा और दिलचस्प है, क्योंकि इसे आसानी से गलत व्याख्या किया जा सकता है। पूरी कहानी के लिए यह देखें linuxjournal लेख। सबसे अच्छा सारांश लेख से सीधा उद्धरण है,

लोड-औसत गणना सबसे अच्छी तरह से लिनक्स की रन कतार में चल रही या अनियंत्रित चिह्नित प्रक्रियाओं के चलते औसत के रूप में सोचा जाता है

मतलब, कि आप अपने लोड औसत के बारे में सोच सकते हैं (चल रही प्रक्रियाओं में से #) + (आईओ पर प्रतीक्षा प्रक्रियाओं में से #)। ध्यान में रखते हुए कि किसी भी समय आपके पास $ CORE की प्रक्रियाओं को निष्पादित किया जा सकता है, मैं कहूंगा कि 14 का आपका भार औसत बहुत कम है।


16
2017-09-22 17:39



धन्यवाद! मेमोरी (या मेमोरी + स्वैप) का इस्तेमाल किया जाने वाला प्रतिशत भारी भारित और नई प्रक्रियाओं को चलाने के लिए बेहतर नहीं है? क्या आप मेमोरी या मेमोरी + स्वैप दोनों को देखते हैं? क्या स्वैप आकार में शीर्ष पर दिखाया गया उपयोग किया गया स्वैप वास्तव में उपयोग किया जाता है? सीपीयू लोड औसत के संबंध में, क्या आप "भार औसत / कोर संख्या" द्वारा वास्तविक भार को मापते हैं? सर्वर के भारी लोड होने पर आप कितना सम्मान करेंगे? धन्यवाद एवं शुभकामनाएँ! - Tim
लोड सिर्फ एक संकेतक है। एक सामान्य नियम के रूप में, कोर से अधिक का भार एक बुरी चीज है। आम तौर पर इस्तेमाल की जाने वाली स्मृति का एक उच्च प्रतिशत एक बुरी चीज है। यह एक द्विआधारी मूल्य नहीं है जिसे आप कह सकते हैं 'यह बहुत अच्छा है'। यदि आप रैम से बाहर हो जाते हैं, तो आपके पास अधिक प्रक्रियाओं को चलाने के लिए पर्याप्त नहीं है। यदि आप भाग नहीं पाते हैं, तो आपके पास बहुत कुछ है। यह आपकी स्थिति के विनिर्देशों पर बहुत निर्भर है। - Cian


वहाँ से sar मैन पेज:

       भार औसत को चलाने योग्य या औसत संख्या के रूप में गणना की जाती है
       चल रहे कार्यों (आर राज्य), और अनियंत्रित कार्यों में संख्या
       निर्दिष्ट अंतराल पर नींद (डी राज्य)।

वहाँ से uptime मैन पेज:

       सिस्टम लोड औसत प्रक्रियाओं की औसत संख्या है जो या तो हैं
       एक निर्विवाद या निर्बाध राज्य में। एक चलने योग्य राज्य में एक प्रक्रिया
       या तो सीपीयू का उपयोग कर रहा है या सीपीयू का उपयोग करने का इंतजार कर रहा है। अनन्य में एक प्रक्रिया
       भयानक स्थिति कुछ I / O पहुंच के लिए प्रतीक्षा कर रही है, उदाहरण के लिए डिस्क की प्रतीक्षा।
       औसत तीन बार अंतराल पर लिया जाता है। भार औसत
       सिस्टम में CPUs की संख्या के लिए सामान्यीकृत नहीं हैं, इसलिए लोड औसत-
       1 की उम्र का मतलब है कि एक सीपीयू सिस्टम 4 पर लोड होने पर हर समय लोड होता है
       सीपीयू प्रणाली का मतलब है कि यह समय का 75% निष्क्रिय था।

4
2017-09-22 17:36





  1. कुछ समय के लिए लिनक्स ने अपनी याददाश्त को इस तरह से प्रबंधित किया है कि उस रेखा को बनाता है top मूल रूप से बेकार, आमतौर पर मशीन की अधिकांश मेमोरी को विभिन्न उपयोगों के लिए आवंटित करते हैं जब उपयोगकर्ता प्रक्रिया द्वारा इसकी आवश्यकता नहीं होती है।
  2. भार औसत चलने वाली प्रक्रियाओं की औसत संख्या या चलाने की प्रतीक्षा कर रहा है। यह आमतौर पर सिस्टम विलंबता / प्रतिक्रियाशीलता के साथ एक मजबूत नकारात्मक सहसंबंध है, इसलिए आप जितना संभव हो उतना कम चाहते हैं। चूंकि आपके प्रत्येक सीपीयू किसी भी समय कुछ चल रहा है, हालांकि, आप 14 पर बहुत अच्छा प्रदर्शन कर रहे हैं।

3
2017-09-22 17:02



धन्यवाद! 1 के संबंध में, क्या आपका मतलब है कि कुछ प्रक्रियाएं शीर्ष पर दिखाई नहीं देती हैं लेकिन बहुत सारी मेमोरी का उपयोग कर रही हैं? या स्मृति के बारे में आउटपुट की चौथी पंक्ति ("मेम: 130766620k कुल, 130161072k प्रयुक्त, 605548k फ्री, 9 1 9 300k बफर") भ्रामक है, मुझे शीर्ष पर दिखाए गए सभी प्रक्रियाओं और मेरे मामले में उपयोग की गई स्मृति के प्रतिशत का योग देखना चाहिए मैं कुछ नई मेमोरी लेने वाली प्रक्रियाओं को सुरक्षित रूप से चला सकता हूं? - Tim
जैसा कि अन्य उत्तरों ने इंगित किया है, लोड औसत की तुलना प्रोसेसर की संख्या से की जानी चाहिए, इसलिए 14 24-कोर सिस्टम पर इतना अधिक नहीं है। यह एक एकल कोर सिस्टम (अच्छी तरह से) पर 14/24 = 0.58 की तरह होगा। - David Z
@ टिम: मेरा मतलब है उत्तरार्द्ध। - chaos


भार औसत एक महान बात है। यह आपको समझने देता है कि 100% उपयोग से परे क्या होता है, मूल रूप से: http://en.wikipedia.org/wiki/Load_%28computing%29


0
2017-09-22 20:54