लिनक्स कर्नेल एक tweakable सेटिंग प्रदान करता है जो नियंत्रित करता है कि स्वैप फ़ाइल का उपयोग कितनी बार किया जाता है, जिसे स्वैपीनेस कहा जाता है
शून्य की एक स्वैगनेस सेटिंग का अर्थ है कि डिस्क को तब तक टाला जाएगा जब तक कि पूरी तरह से आवश्यक न हो (आप मेमोरी से बाहर चले जाएं), जबकि 100 की स्वैगनेस सेटिंग का अर्थ है कि प्रोग्राम को लगभग तुरंत डिस्क पर स्वैप किया जाएगा।
उबंटू प्रणाली 60 के डिफ़ॉल्ट के साथ आती है, जिसका अर्थ है कि स्वैप फ़ाइल का उपयोग अक्सर किया जाएगा यदि मेमोरी का उपयोग मेरे रैम के आधे के आसपास हो। आप अपने सिस्टम के स्वपन मूल्य को चलाकर जांच सकते हैं:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
जैसा कि मेरे पास 4 जीबी रैम है, इसलिए मैं इसे 10 या 15. नीचे करना चाहूंगा। स्वैप फाइल तब ही उपयोग की जाएगी जब मेरी रैम का उपयोग लगभग 80 या 90 प्रतिशत हो। सिस्टम स्वैप्पीनेस मान को बदलने के लिए, खोलें /etc/sysctl.conf as root
। फिर, इस लाइन को फ़ाइल में बदलें या जोड़ें:
vm.swappiness = 10
परिवर्तन प्रभावी होने के लिए रिबूट
जब आपका सिस्टम चल रहा हो तब भी आप मान बदल सकते हैं
sysctl vm.swappiness=10
आप एक ही प्रभाव को प्राप्त करने के लिए रिबूट करने के बजाय रन करके swapoff -a
और फिर swapon -a
रूट के रूप में अपना स्वैप साफ़ कर सकते हैं ।
अपने स्वैप फॉर्मूला की गणना करने के लिए
free -m (total) / 100 = A
A * 10
root@onezero:/home/one# free -m
total used free shared buffers cached
Mem: 3950 2262 1687 0 407 952
-/+ buffers/cache: 903 3047
Swap: 1953 0 1953
तो कुल 3950/100 = 39.5 * 10 = 395 है
तो इसका क्या मतलब है कि जब राम का 10% 395 एमबी बचा है, तो यह स्वपन का उपयोग करना शुरू कर देता है