शीर्ष कमांड में "कैश्ड" क्या है?


46

जब चल रहा है top, मुझे मिलता है:

top - 09:10:52 up 18:37,  1 user,  load average: 1.56, 1.33, 1.15
Tasks:  39 total,   1 running,  38 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.6%sy,  1.0%ni, 92.5%id,  5.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4194304k total,  3045460k used,  1148844k free,        0k buffers
Swap:        0k total,        0k used,        0k free,  2256128k cached

भाग देखें: 2256128k कैश किया गया? पूरी तरह से इसका क्या मतलब है?

मैं दो प्रदाता से दो VPS की तुलना कर रहा हूं, यह हमेशा एक बड़ी मात्रा में होता है (प्रयुक्त मेमोरी का 70%) और दूसरा VPS प्रदाता हमेशा 0 दिखाता है।

जवाबों:


15

कैश किए जाने से पहले वह संख्या भौतिक मेमोरी की मात्रा है जो आपके फाइल सिस्टम के लिए कैश बफ़र्स द्वारा उपयोग की जा रही है।

यह "स्वैप:" लाइन पर होने के बावजूद, वास्तव में SWAP से संबंधित नहीं है

थोड़ा प्रयोग करके मेरे उत्तर को सत्यापित करने के लिए निम्नलिखित प्रयास करें:

शीर्ष चलाएं और 'कैश्ड' के मूल्य पर ध्यान दें। अब दौड़ो

dd if=/dev/zero of=~/trick bs=1M count=128

यदि आप शीर्ष पर फिर से दौड़ते हैं, तो आप देखेंगे कि 'कैश' 128 एम से बढ़ गया है

अब फाइल को हटा दें

rm ~/trick

फिर से ऊपर दौड़ें और आप देखेंगे कि 'कैशेड' 128M से गिर गया है

तो मेम के लिए:

total = used + free तथा

used = <all apps> + buffers + cached

(जहां बफ़र्स मूल रूप से कैशेड के लिए मेटाडेटा हैं )। UI का थोड़ा सा भ्रमित होना।


और मैं इसे किसी भी तरह से प्रभावित कर सकता हूं, उदाहरण के लिए इसे सीमित करें या पूरी तरह से अक्षम करें?
केकेके

2
तुम ऐसा क्यों करना चाहते हो?! आप क्या करेंगे ?! इसके बारे में कैसे फ़ाइल सिस्टम कैश में phyiscal स्मृति।

क्योंकि अधिकांश फाइल सिस्टम एक DB है, DB का अपना कैश है, इसलिए मुझे लगता है कि इस हिस्से को किसी तरह सीमित करना अच्छा होगा।
केकेके

आप इसे कुछ खोज के साथ कर सकते हैं लेकिन मैं आपको सलाह नहीं देता। यह वें FS के प्रदर्शन को सीमित करेगा

117

लिनक्स कर्नेल डिस्क कैशिंग के लिए उपलब्ध मेमोरी का उपयोग करेगा, जब तक कि यह एक रनिंग प्रोग्राम द्वारा आवश्यक न हो।

यह अच्छा माना जाता है; कहते हैं कि आपके पास 4 जीबी रैम है, और आपके प्रोग्राम केवल 1 जीबी का उपयोग कर रहे हैं। अन्य 3 जीबी बेकार जा रहे हैं। यह जानने के बावजूद कि आप अपनी स्मृति का केवल 25% उपयोग कर रहे हैं, "प्रति-अच्छा" छाप, प्रतिपक्ष यह है कि अन्य 75% अप्रयुक्त है। तो कर्नेल उन कैशिंग फ़ाइलों के लिए उपयोग करता है जो प्रदर्शन में काफी सुधार करते हैं। यह स्वचालित है; पुराने ऑपरेटिंग सिस्टम के विपरीत, आपको यह तय करने की आवश्यकता नहीं है कि डिस्क कैश को कितना समर्पित करना है, या इसे मैन्युअल रूप से कॉन्फ़िगर करना है।

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

यह एक ऐसा सामान्य प्रश्न है, जिसके लिए पूरी वेबसाइट समर्पित है:

http://www.linuxatemyram.com

वेबसाइट पर भी डिस्क कैश खाली करने का एक तरीका है ताकि आप फिर कुछ एप्लिकेशन चला सकें और देखें कि वे कितनी तेज़ कैश सक्षम हैं :)


4
उत्तर से प्यार है, लेकिन प्रतिष्ठा में कमी के कारण मैं इसे (अभी तक) अपग्रेड नहीं कर सकता। माफ़ करना।
केकेके

4
चिंता न करें, मुझे मदद की खुशी है। आशा है कि जानकारी उपयोगी है!
रोडमैर

यह स्वीकृत उत्तर होना चाहिए। ओह अच्छा । । । :(
अंकुश 981

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