इस व्यवहार को एक कर्नेल सेटिंग के माध्यम से नियंत्रित किया जाता है vm.swappiness
, जिसे 0 से 100 तक की सीमा पर सेट किया जा सकता है। 60 का डिफ़ॉल्ट मान सिस्टम को भौतिक मेमोरी पूरी तरह से पूर्ण होने से पहले कुछ हद तक स्वैप करने का कारण होगा, जो स्मृति दबाव में प्रदर्शन को बनाए रखने में मदद करता है, जबकि थ्रैशिंग के कारण प्रदर्शन को नीचा दिखाने के लिए इतना स्वैप नहीं करना चाहिए ।
इसे 0 पर स्वैग को सेट करके अक्षम किया जा सकता है, जिस स्थिति में सिस्टम स्वैप नहीं करेगा जब तक कि बिल्कुल आवश्यक न हो। यह समझ में आ सकता है यदि आपके पास आमतौर पर बहुत सारी मुफ्त रैम है। हालाँकि, प्रदर्शन बंद हो जाएगा, जिस पल आपके सिस्टम की भौतिक मेमोरी पूरी तरह से भर जाती है क्योंकि सिस्टम को अचानक इनॉपपोर्ट्यून समय पर स्वैप करने के लिए मजबूर किया जाता है जब किसी एप्लिकेशन को मेमोरी की आवश्यकता होती है, बजाय अग्रिम में, और आपके सर्वर के रूप में आपके मामले में अनुशंसित नहीं है। पूर्ण के करीब चल रहा है।
संभवतः आपके लिए 10 की तरह कम (लेकिन नॉनज़रो) मूल्य पर स्वैग सेट करना बेहतर होगा, जो कि प्रोग्राम की आवश्यकता होने पर रैम को मुक्त करने के लिए अंतिम क्षण तक इंतजार न करते हुए अनावश्यक स्वैपिंग को कम कर देगा। सर्वश्रेष्ठ सेटिंग आपके वातावरण पर निर्भर करती है, इसलिए विभिन्न सेटिंग्स के साथ प्रयोग करें जब तक कि आपको सबसे अच्छा परिणाम न मिले।
स्वैगनेस सेटिंग को बदलने के लिए, रूट के रूप में /proc/sys/vm/swappiness
उपयोग करने के लिए वांछित मान लिखें echo
। स्थायी परिवर्तन करने के लिए, एक vm.swappiness
पंक्ति को /etc/sysctl.conf
(आवश्यकतानुसार 10 को अपने वांछित मान से बदलें) जोड़ें:
vm.swappiness = 10
swap
।