टीएल; डीआर १
आपका सर्वर किसी प्रकार के सदाचारों / ओपनवेज़ / वर्चुअलाइजेशन-डु-पत्रिकाओं कंटेनर के भीतर है। स्मृति उपयोग की भावना बनाने की कोशिश पवनचक्कियों पर झुक रही है।
टीएल; डीआर 2
लिनक्स ने आपकी रैम खा ली! लेकिन यह ठीक है, यह सभी के लिए करता है।
द लॉन्ग स्टोरी
चलो इसे तोड़ दो!
में Mem:
खंड हमने:
$n total
: आपकी मशीन में भौतिक रैम की मात्रा
$n used
: लिनक्स द्वारा कितनी मेमोरी का उपभोग किया जा रहा है, न कि केवल प्रक्रियाओं का योग।
$n free
: लिनक्स द्वारा कितनी रैम का उपभोग नहीं किया जा रहा है। यह इस बात को ध्यान में नहीं रखता है कि कैश्ड और बफ़र्ड मेमोरी सार "फ्री" में है।
$n buffers
: बफर स्पेस वह जगह है जहां डिस्क I / O के ब्लॉक पढ़े गए हैं या लंबित हैं, जो स्टोर किए गए हैं। एक बफर एक एकल डिस्क ब्लॉक का एक रैम प्रतिनिधित्व है।
में Swap:
खंड हमने:
$n total
: स्वयं व्याख्यात्मक। पृष्ठों को स्वैप करने के लिए उपलब्ध डिस्क स्थान की मात्रा।
$n used
: स्वयं व्याख्यात्मक। कितना डिस्क स्वैप स्थान उपयोग किया जाता है।
$n free
: हर्प डर्प।
$n cache
: ऊपर बफ़र्स से संबंधित। यह वास्तव में पेज कैश का हिस्सा है और भौतिक डिस्क पर इसका कोई स्थान नहीं है। इस बातचीत के विवरण के बारे में चिंता न करें।
जब आप दौड़ते हैं तो दिलचस्प हिस्सा आता है free -m
। आपको तीन पंक्तियाँ दिखाई देंगी, और सभी संख्याएँ शीर्ष से संबद्ध होंगी। मैं अपने खुद के पीसी को एक उदाहरण के रूप में दूंगा:
total used free shared buffers cached
Mem: 8070 7747 323 0 253 5713
-/+ buffers/cache: 1780 6290
Swap: 5055 0 5055
मेम पंक्ति मेगाबाइट्स में कुल रैम दिखाती है ( $n total
शीर्ष में), कितना उपयोग किया जाता है ( $n used
शीर्ष में), कितना मुक्त ( $n free
शीर्ष में) है, कितना साझा किया गया है (उस पर ध्यान न दें), और अब अच्छा हिस्सा आता है! buffers
और cached
स्तंभों में free -m
संबंध स्थापित करने, जाहिर, $n buffers
और $n cache
। लेकिन दूसरी पंक्ति पर एक नज़र डालते हैं जो इसके free -m
साथ शुरू होती है -/+ buffers/cache:
। गणित से पता चलता है कि उपयोग की गई राशि वास्तव में (कुल) है - ((इस्तेमाल किया-बफ़र्स) -cached)। मुक्त (कुल) है - (नया)।
इस सब का क्या मतलब है? इसका मतलब है कि लिनक्स ने आपकी रैम खा ली है! लघुकथा यह है कि डिस्क को कैशिंग के लिए उपयोग करने के लिए उपलब्ध के रूप में लिनक्स कर्नेल रैम को घेरता है। जब तक आप ऐसा महसूस न करें कि आप कस्टम कर्नेल संकलित करने का प्रयास कर रहे हैं, तब तक आप इसके बारे में कुछ नहीं कर सकते। प्रो टिप: नहीं।
रैम वास्तव में वहाँ है और प्रक्रियाओं के लिए अपने समय पर उपयोग करने के लिए स्वतंत्र है। कि -/+ buffers/cache:
पंक्ति में क्या मतलब है free -m
। हालाँकि, आप गैर-हाइपर-विज़ोर वर्चुअलाइज़ेशन कंटेनर के अंदर हैं जो चीजों को थोड़ा-थोड़ा करके बनाता है। आप बस इस बिंदु पर बाइट सटीकता के साथ अपनी स्मृति का जायजा नहीं ले सकते। हालाँकि, आप ऐसा कोई व्यवहार नहीं देख रहे हैं जो बहुत असामान्य हो।
शांत रहें और आगे बढ़ते रहें। इसके अलावा, एक भौतिक सर्वर प्राप्त करें (जब तक कि आपको स्मृति के आंकड़े पसंद नहीं आते हैं, जैसे कि क्रेस्किन आपका SysAdmin है)।