लिनक्स: मेमोरी मुफ्त है लेकिन स्वैप का उपयोग किया जाता है। क्यों?


11

यहाँ मुनिन के चित्र हैं।

स्मृति उपयोग: http://koryagin.com/w/q/memory-day.png

स्वैप इन / आउट: http://koryagin.com/w/q/swap-day.png

जब प्रोग्राम द्वारा उपयोग की जाने वाली मेमोरी की तुलना में रैम का आकार बड़ा होता है तो लिनक्स कैश को बढ़ाने और स्वैप का उपयोग करने का निर्णय क्यों लेता है?


2
पिछले कुछ वर्षों में लिनक्स वीएम सबसिस्टम बफर स्पेस और कैश स्पेस के पक्ष में बहुत अधिक ट्यून किया गया है; मेमोरी लेने वाले एप्लिकेशन लेकिन कुछ भी नहीं करने से डिस्क में फेरबदल हो जाएगा। इससे जवाबदेही और प्रदर्शन बढ़ता है। जब तक आप प्रदर्शन के मुद्दे नहीं देख रहे हैं, तब तक आपको वास्तव में इसके बारे में चिंता करने की आवश्यकता नहीं है।
बार्ट सिल्वरस्ट्रिम

जवाबों:


17

आपके सर्वर में संभवत: कुछ निष्क्रिय पृष्ठों वाले मेमोरी-ईटिंग और / या निष्क्रिय प्रक्रियाएं हैं। लिनक्स कर्नेल कार्यक्रमों के निष्क्रिय भागों को स्वैप करने के लिए प्राथमिकता देता है क्योंकि अधिकतर संभावना है कि मेमोरी को कैश के रूप में उपयोग किया जाता है।

यदि आप इस व्यवहार को बदलना चाहते हैं, तो vm.swappinesssctctl tunable के साथ खेलें, लेकिन चेतावनी दी जाए, कर्नेल डेवलपर्स / डिस्ट्रो मेंटेनर्स को आउटसोर्स करना इतना आसान नहीं है। :-)

क्या आपको उस स्वैप स्पाइक के दौरान आपके सर्वर पर प्रदर्शन समस्याएं हैं या आपने जिज्ञासा से पूछा है?


मुझे इस विशेष सर्वर पर कोई प्रदर्शन समस्या नहीं है। लेकिन एक दूसरे पर, जहां स्थिति इतनी स्पष्ट नहीं है, मैं सोच रहा हूं कि क्या करना है। क्या कुछ लिनक्स मेमोरी प्रबंधन तर्क PHP- FPM segfaults का कारण हो सकता है, अगर वे ज्ञात PHP समस्याओं में से किसी से मेल नहीं खाते हैं? तो, आम तौर पर जिज्ञासा के पक्ष में।
पावेल कोरागिन

BTW, यह सर्वर स्क्रिप्ट के एक निश्चित सेट के साथ बहुत कम मात्रा में डेटा को संभालता है, इसलिए इसमें गहन I / O नहीं होना चाहिए। तो लिनक्स इतना बड़ा कैश क्यों चाहता है?
पावेल कोरागिन

लिनक्स भारी फाइल, मेटाडेटा, डायरेक्टरी एंट्रीज आदि को कैश करता है। आदेश का प्रयास करें slabtop
Janne Pikkarainen

बहुत बहुत धन्यवाद। slabtopजानकारी के साथ क्या करना है, यह समझने में थोड़ा समय लगेगा ।
पावेल कोरागिन

जब आपका बॉस आपके कक्ष में घूमता है और अपने आप को उसकी आँखों में गुरु बना लेता है, तो उसे पूर्ण स्क्रीन पर चलने दें। :-) एक और अच्छा "ऊह, जो निश्चित रूप से समझने में कठिन लगता है" कमांड systat -vmstatFreeBSD में है (शायद अन्य BSDs भी)।
१२:३० बजे जने पिक्कारनेन

1

आपको स्वैपीनेस पैरामीटर के साथ खेलने का प्रयास करना चाहिए । जैसा कि आप देख सकते हैं कि फ़ाइल कैश आकार को बढ़ाने के लिए आपके सिस्टम ने स्वैप करना शुरू कर दिया है, यह सामान्य है अगर स्वप्न 0 नहीं है।

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