मतलब मुफ्त के आउटपुट में बफ़र्स / कैश लाइन


168

मेरा सर्वर क्यों दिखाता है

            total      used      free   shared buffers    cached
    Mem: 12286456  11715372    571084        0   81912   6545228
-/+ buffers/cache:  5088232   7198224
   Swap: 24571408     54528  24516880

मुझे लिनक्स में मेमोरी की गणना करने का कोई विचार नहीं है। मुझे लगता है कि यह कहता है कि ५०2२२३ का उपयोग किया जाता है जहां 24१ ९ is२२४ मुफ्त है, इसका अर्थ है कि यह वास्तव में ५ जीबी रैम का उपयोग कर रहा है?



जवाबों:


232

मूल्यों का अर्थ

पहली पंक्ति का अर्थ है:

  • total: आपकी कुल (भौतिक) रैम (एक छोटा सा को छोड़कर जो कर्नेल स्थायी रूप से स्टार्टअप पर खुद के लिए आरक्षित है); इसलिए यह सीए को दिखाता है। 11.7 GiB, और 12 GiB नहीं, जो आपके पास शायद है।
  • used: ओएस द्वारा उपयोग में स्मृति।
  • free: स्मृति उपयोग में नहीं है।

total= used+free

  • shared/ buffers/ cached: यह विशिष्ट उद्देश्यों के लिए मेमोरी उपयोग दिखाता है, इन मूल्यों के लिए मूल्य में शामिल हैं used

दूसरी पंक्ति पहली पंक्ति के मानों को समायोजित करती है। यह करने के लिए मूल मूल्य देता है used शून्य से योग buffers+cachedके लिए और मूल मूल्य free से अधिक राशि buffers+cachedइसका शीर्षक है, इसलिए। ये नए मूल्य अक्सर पहली पंक्ति के लोगों की तुलना में अधिक सार्थक होते हैं।

अंतिम पंक्ति ( Swap:) स्वैप स्पेस उपयोग (यानी मेमोरी सामग्री जो अस्थायी रूप से डिस्क में स्थानांतरित हो गई है) के बारे में जानकारी देती है।

पृष्ठभूमि

वास्तव में यह समझने के लिए कि संख्याओं का क्या मतलब है, आपको लिनक्स में वर्चुअल मेमोरी (वीएम) सबसिस्टम के बारे में थोड़ी पृष्ठभूमि चाहिए। बस एक छोटा संस्करण: लिनक्स (अधिकांश आधुनिक ओएस की तरह) हमेशा कैशिंग सामान के लिए मुफ्त रैम का उपयोग करने की कोशिश Mem: freeकरेगा , इसलिए लगभग हमेशा बहुत कम होगा। इसलिए लाइन -/+ buffers/cache:को दिखाया गया है, क्योंकि यह दिखाता है कि कैश को अनदेखा करने पर कितनी मेमोरी मुफ्त है; यदि स्मृति दुर्लभ हो जाती है, तो कैश स्वचालित रूप से मुक्त हो जाएगा, इसलिए वे वास्तव में मायने नहीं रखते हैं।

यदि लाइन freeमें मान -/+ buffers/cache:कम हो जाता है तो एक लिनक्स सिस्टम वास्तव में मेमोरी पर कम होता है।

संख्याओं के अर्थ के बारे में अधिक जानकारी के लिए, उदाहरण के लिए प्रश्न देखें:

प्राप्स में परिवर्तन 3.3.10

ध्यान दें कि के आउटपुट को आउटपुट में freeबदल दिया गया था 3.3.10 (2014 में जारी)। रिपोर्ट किए गए कॉलम अब "कुल", "उपयोग किया हुआ", "मुक्त", "साझा", "बफ़ / कैश", "उपलब्ध" हैं , और कुछ मानों के अर्थ बदल गए हैं, मुख्य रूप से लिनक्स कर्नेल के स्लैब के लिए बेहतर खाता है। कैश।

प्रेरणा के लिए डेबियन बग रिपोर्ट देखें # 565518 , और 14.04 से 16.04 तक आउटपुट में क्या बदलाव हैं free? अधिक जानकारी के लिए जानकारी।


क्या आप इस बात पर विस्तार कर सकते हैं कि लिनक्स किस प्रकार की कैशिंग हो सकती है? क्या यह ऐसी फाइलें होंगी जो एक्सेस की गई हैं या नेटवर्क स्टफ है?
CMCDragonkai 13

@CMCDragonkai: serverfault.com/questions/23433/… का उत्तर विस्तार से "कैश" और "बफर" का गठन करता है।
16

5
मुझे नहीं लगता कि बयान "कुल = प्रयुक्त + मुक्त" सही है, मेरी मशीन पर निम्न आउटपुट देखें:$ free -h total used free shared buff/cache available Mem: 3.4G 585M 152M 11M 2.6G 2.5G Swap: 4.0G 84M 3.9G
सेबस्टियन

@ सेबेस्टियन: आह, दिलचस्प। ऐसा लगता है कि मुक्त का ouput बदल गया था (3.3.10 में)। मैंने इसका उल्लेख करने के लिए अपना उत्तर संपादित किया। यदि आप इस बदलाव में रुचि रखते हैं, तो एक नया सवाल पूछने पर विचार करें :-)।
sleske

3
total = used + free + buff/cache
खतरे '


2

बफ़र्स / कैश लाइन आपको दिखाती है कि प्रोग्राम्स (उन कॉलमों में से) में कितनी मेमोरी का उपयोग किया गया है, और प्रोग्राम्स (दूसरे कॉलम) का उपयोग करने के लिए मुफ़्त है। यह काफी गूढ़ संख्या है, और ऐसा कुछ नहीं है जो आप वास्तव में बहुत अभ्यास में देखेंगे।


और पहली पंक्ति (मेम लाइन) का क्या अर्थ है
मुहम्मद जीशान

8
कि आपने सिस्टम में 12GB RAM स्थापित की है, जिसमें से 11.5GB का उपयोग किया जाता है और 0.5GB या तो वर्तमान में अप्रयुक्त है। उपयोग की गई मेमोरी का लगभग 82MB बफ़र्स (नेटवर्क कनेक्शन आदि) के लिए उपयोग किया जाता है, जबकि लगभग 6.5GB का उपयोग डिस्क पर डेटा की प्रतियों को संग्रहीत करने के लिए किया जा रहा है, ताकि यदि इसे फिर से आवश्यक हो तो डेटा को फिर से पढ़ना न पड़े।
Womble

3
@ मुहम्मद: "82 एमबी मुफ्त है।" - नहीं, 57MiB मुफ़्त है (लेकिन यह वास्तव में कोई बात नहीं है, मेरा जवाब देखें)। "अब यह सब मतलब है कि सिस्टम अपनी सीमा तक पहुंच गया है" - नहीं, बिल्कुल नहीं। सिस्टम में कैशिंग के लिए 6.9GiB का उपयोग किया गया है, जो इसे आसानी से अनुप्रयोगों को देगा, इसलिए इसमें बहुत जगह है। इसके अलावा, स्वैप का उपयोग बहुत कम है (ony ca. 50MiB)। यदि मेमोरी तंग होने लगेगी, तो स्वैप उपयोग बढ़ जाएगा। वर्तमान में आप मुश्किल से आधी रैम का उपयोग कर रहे हैं।
Sleske

4
क्या आपने किसी बिंदु पर एक नया सवाल पूछने पर विचार किया है?
Womble

3
मैं असहमत हूं, बफ़र्स / कैश लाइन सिस्टम की वास्तविक मुक्त मेमोरी है और इसलिए सबसे अधिक प्रासंगिक है यदि आप जानना चाहते हैं कि सिस्टम में कार्यक्रमों के लिए जगह है या नहीं।
जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.