कर्नेल २.६.२ Linux के बाद से, लिनक्स एक स्प्लिट लेस्ट रिसेंटली यूज्ड (LRU) पेज रिप्लेसमेंट रणनीति का उपयोग करता है । एक फाइल सिस्टम स्रोत वाले पृष्ठ, जैसे प्रोग्राम टेक्स्ट या साझा लाइब्रेरी फ़ाइल कैश के हैं। फाइलसिस्टम बैकिंग वाले पृष्ठों को गुमनाम पृष्ठ कहा जाता है, और रनटाइम डेटा से युक्त होते हैं जैसे कि अनुप्रयोगों के लिए आरक्षित स्टैक स्थान आदि। आमतौर पर फ़ाइल कैश से संबंधित पृष्ठ मेमोरी से बेदखल करने के लिए सस्ते होते हैं (जब ये आवश्यक हो तो डिस्क से वापस पढ़ा जा सकता है) । चूंकि अनाम पृष्ठों का कोई फाइल सिस्टम बैकिंग नहीं है, इसलिए उन्हें तब तक मेमोरी में रहना चाहिए, जब तक उन्हें किसी प्रोग्राम की आवश्यकता न हो, जब तक कि उन्हें स्टोर करने के लिए स्वैप स्पेस न हो।
यह एक आम गलत धारणा है कि एक स्वैप विभाजन किसी तरह आपके सिस्टम को धीमा कर देगा। स्वैप विभाजन नहीं होने का मतलब यह नहीं है कि कर्नेल मेमोरी से पेजों को बेदखल नहीं करेगा, इसका मतलब सिर्फ यह है कि कर्नेल के पास कम विकल्प हैं कि कौन से पेजों को बेदखल करें। उपलब्ध स्वैप की मात्रा यह प्रभावित नहीं करेगी कि इसका कितना उपयोग किया जाता है।
लिनक्स स्वैप स्पेस की अनुपस्थिति का सामना कर सकता है क्योंकि, डिफ़ॉल्ट रूप से, कर्नेल मेमोरी अकाउंटिंग पॉलिसी मेमोरी को ओवरकम कर सकती है । नकारात्मक पक्ष यह है कि जब भौतिक मेमोरी समाप्त हो जाती है, और कर्नेल बेनामी पृष्ठों को डिस्क पर स्वैप नहीं कर सकता है, तो मेमोरी-हॉगिंग "दुष्ट" प्रक्रियाओं को स्मृति-मुक्त करने के लिए आउट-ऑफ-मेमोरी-किलर (ओओएम-किलर) प्रक्रिया शुरू हो जाएगी। अन्य प्रक्रियाएं।
vm.swappiness
विकल्प के लिए एक आपरिवर्तक कि गुमनाम पृष्ठों के पक्ष में फ़ाइल कैश पृष्ठों बाहर गमागमन के बीच संतुलन को बदल देता है। फ़ाइल कैश को 200 का एक मनमाना प्राथमिकता मूल्य दिया जाता है जिसमें से vm.swappiness
संशोधक काटा जाता है ( file_prio=200-vm.swappiness
)। अनाम पृष्ठ, डिफ़ॉल्ट रूप से, 60 ( anon_prio=vm.swappiness
) से शुरू होते हैं । इसका मतलब यह है कि, डिफ़ॉल्ट रूप से, प्राथमिकता वाले वज़न गुमनाम पृष्ठों ( anon_prio=60
, file_prio=200-60=140
) के पक्ष में हैं । व्यवहार को mm/vmscan.c
कर्नेल स्रोत ट्री में परिभाषित किया गया है।
एक को देखते हुए vm.swappiness
की 100
, प्राथमिकताओं बराबर होगा ( file_prio=200-100=100
, anon_prio=100
)। यह एक I / O भारी प्रणाली के लिए समझ में आता है अगर यह नहीं चाहता है कि फ़ाइल कैश से पृष्ठों को गुमनाम पृष्ठों के पक्ष में बेदखल किया जाए।
इसके विपरीत सेटिंग करने vm.swappiness
से 0
कर्नेल को फ़ाइल कैश से पृष्ठों के पक्ष में अनाम पृष्ठों को बेदखल करने से रोका जा सकेगा। यह उपयोगी हो सकता है यदि प्रोग्राम अपने अधिकांश कैशिंग स्वयं करते हैं, जो कुछ डेटाबेस के साथ हो सकता है। डेस्कटॉप सिस्टम में यह अन्तरक्रियाशीलता में सुधार कर सकता है, लेकिन नकारात्मक पक्ष यह है कि I / O प्रदर्शन संभवतः हिट होगा।
डिफ़ॉल्ट मूल्य को इन दो चरम सीमाओं के बीच अनुमानित मध्यभूमि के रूप में चुना गया है। किसी भी प्रदर्शन पैरामीटर के साथ, समायोजन vm.swappiness
वास्तविक कार्यभार के बराबर बेंचमार्क डेटा पर आधारित होना चाहिए, न कि केवल एक आंत भावना।