मैं वास्तव में स्वैपीपन को अधिक रखने की सिफारिश नहीं करूंगा। कर्नेल में एक सामान्य तंत्र यह है कि यह कुछ स्मृति को अन्य चल रहे कार्यों के लिए मुक्त करने के लिए स्वैप में पृष्ठ (मेमोरी का हिस्सा) डाल देगा।
पहले "समस्या" जब कर्नेल चाहते हैं कि n पेज मुक्त हो जाए, m (m <n के साथ, m n को धारण करने के लिए आवश्यक संपीड़ित पृष्ठों की संख्या है) RAM में नए बनाए गए हैं, मुझे यकीन नहीं है कि यह कर्नेल को परेशान कर सकता है या नहीं।
फिर वैसे भी, जब आपके पास स्वैप में पृष्ठ होते हैं, तो संभव है कि आप बाद में इसके कुछ पृष्ठों का उपयोग स्वैप में करें। कर्नेल क्या करते हैं, उन पृष्ठों को भौतिक मेमोरी में वापस लाते हैं, लेकिन उन्हें स्वैप से नहीं हटाते हैं (जो मानक स्वैप के साथ कैशिंग के रूप में देखा जा सकता है , इसलिए जब एप्लिकेशन पृष्ठभूमि में वापस जाता है, तो कर्नेल को उन पृष्ठों को वापस लिखना नहीं पड़ता है धीमी गति से)। हालाँकि zram के साथ यह शायद एक बुद्धिमान चाल नहीं है, क्योंकि आपके पास स्मृति में m पेज zram + n पृष्ठ हैं जो स्मृति में वापस हैं!
कर्नेल में एक सामान्य "टोटल मेमोरी" होती है, जिसका उपयोग वह अपना व्यवसाय करने के लिए कर सकता है। जब आप ज़्राम जोड़ते हैं, तो यह केवल "स्वैप" मेमोरी में गिना जाता है, क्योंकि यह किसी भी डिस्क आधारित स्वैप के साथ होगा, लेकिन इसने वास्तविक "कुल मेमोरी" को कम कर दिया और कर्नेल द्वारा अपेक्षित / प्रत्याशित नहीं है। कभी-कभी आप अजीब हो सकते हैं और इस वजह से व्यवहार नहीं चाहते हैं!
ज़्राम के साथ, यह अच्छा होगा कि कर्नेल इस क्षेत्र में बहुत अधिक स्वैप न करे जब यह स्मृति दबाव में हो। और आपके पास हमेशा एक वास्तविक हार्ड डिस्क स्वैप विभाजन होना चाहिए जो आपके ज़्राम अधिकतम आकार से कम से कम बड़ा हो, ताकि सिस्टम को OOM नहीं मिलेगा जबकि उसी समय आपको बहुत सारी खाली जगह दिखाई देगी जैसा कि रिपोर्ट किया गया था free
!