यदि आप लिनक्स का उपयोग कर रहे हैं, तो आप नई मेमोरी मॉड्यूल खरीदे बिना अपने उपलब्ध RAM को गुणा कर सकते हैं। Zram, zswap, और zcache आपको अपने पीसी RAM की सामग्री को संपीड़ित करने की अनुमति देते हैं, व्यावहारिक रूप से इसका विस्तार करते हैं। लेकिन आपको किसका उपयोग करना चाहिए? कौन सा बेहतर है? पता लगाने के लिए आगे पढ़ें।
RAM संपीड़न के लाभ
यदि आपने Sony और Microsoft द्वारा अगली पीढ़ी के कंसोल के बारे में एक प्रस्तुति देखी है, तो आपने देखा होगा कि दोनों कंपनियों ने अपने स्टोरेज की गति को लेकर बड़ा हंगामा किया। इसके लिए एक कारण है: स्टोरेज नवीनतम हाई-एंड PC पर भी सबसे प्रभावशाली बॉटलनेक है।
यहां देखे गए समाधानों का अंतिम लक्ष्य हमारे कंप्यूटर के RAM और इसकी धीमी स्टोरेज सिस्टम के बीच आदान-प्रदान किए जाने वाले डेटा की मात्रा को कम करना है। इसे ध्यान में रखना महत्वपूर्ण है क्योंकि, जैसा कि हम देखेंगे, यह उनका अंतर करने वाला कारक है।
ZRam
Zram आज लिनक्स में सबसे सीधा RAM संपीड़न समाधान है। पूर्व में compcache के रूप में जाना जाता था, यह Linux के कई स्वैप डिवाइस के समर्थन का लाभ उठाकर कंप्यूटर के RAM में एक अतिरिक्त (या अधिक) बनाता है।
Zram तीन स्टोरेज स्पेस का एक पदानुक्रम बनाकर काम करता है। यह RAM में एक नया संपीड़ित स्वैप वॉल्यूम बनाता है, जो - पदानुक्रमित रूप से - RAM और स्टोरेज डिवाइस के बीच रखा जाता है। फिर, जब RAM डेटा से भर जाता है, तो यह अतिरिक्त को संपीड़ित स्वैप में ले जाता है। जब वह भी भर जाता है, तो zram डेटा को स्टोरेज ड्राइव में स्वैप पार्टीशन में ले जाना शुरू कर देता है।
इस नए स्वैप डिवाइस को पीसी के धीमे वास्तविक स्टोरेज में रहने वालों की तुलना में उच्च प्राथमिकता दी जाती है, ताकि उनका उपयोग उनसे पहले किया जाए। यह कई संपीड़न एल्गोरिदम में से एक पर भी निर्भर करता है, जैसे LZ4 या LZO, इस स्वैप डिवाइस में जितना संभव हो उतना डेटा भरने के लिए।
आधुनिक प्रोसेसर उस बिंदु पर पहुंच गए हैं जहां वे RAM में संग्रहीत डेटा को SSD या HDD ड्राइव पर लिखे या पढ़े जाने की तुलना में तेजी से संपीड़ित और विघटित कर सकते हैं, कंप्यूटर के प्रदर्शन पर नगण्य प्रभाव के साथ।
यह ध्यान देने योग्य है कि zram अन्य स्वैप डिवाइस की आवश्यकता के बिना अपने आप काम करता है। इसलिए, आप उदाहरण के लिए, इसे एम्बेडेड सिस्टम या लाइव CDs में उपयोग कर सकते हैं, क्योंकि इसे वास्तविक स्टोरेज द्वारा समर्थित होने की आवश्यकता नहीं है।
ZSwap
Zswap zram से अधिक जटिल है। यह हमारे कंप्यूटर के RAM और उसके धीमे स्टोरेज डिवाइस के बीच संबंध को स्मार्ट संपीड़न जोड़कर सुधारता है जहां वे प्रतिच्छेद करते हैं।
Zswap के साथ, संपीड़ित RAM और कंप्यूटर के स्टोरेज डिवाइस में पहले से मौजूद स्वैप वॉल्यूम को एक बुद्धिमान स्टोरेज सिस्टम में नोड्स के रूप में माना जाता है। Zswap कंप्यूटर के RAM का एक हिस्सा भी लेता है लेकिन जो RAM के बाकी हिस्से में फिट नहीं होता है उसे अंधाधुंध ले जाकर संपीड़ित करने की कोशिश नहीं करता है। इसके बजाय, यह पहले उस सब कुछ को संपीड़ित करता है जो वास्तविक RAM में फिट नहीं होता है। यदि डेटा संपीड़ित हो जाता है, तो zswap इसे RAM में संग्रहीत करता है। यदि नहीं, तो यह इसे मौजूदा स्वैप में संग्रहीत करता है।
इस तरह, zswap उपलब्ध RAM और स्वैप स्पेस का बेहतर लाभ उठाता है क्योंकि यह उदाहरण के लिए, असंपीड़नीय डेटा के साथ उपयोग किए जाने वाले RAM को हॉग नहीं करेगा।
चूंकि यह मौजूदा स्वैप पर निर्भर करता है, zswap हर पीसी पर लिनक्स इंस्टॉलेशन के लिए बेहतर है, विशेष रूप से 4GB से कम RAM वाले।
Zcache
Zcache Linux कर्नेल को वर्तमान में उपयोग में नहीं आने वाले डेटा को संग्रहीत करने का एक अधिक बहुमुखी तरीका प्रदान करने के लिए tmem ("Transcendent Memory") सिस्टम के साथ मिलकर काम करता है।
Zcache कर्नेल पर मेमोरी प्रबंधन की एक अतिरिक्त पारदर्शी परत जोड़ता है जो वर्तमान में उपयोग में नहीं आने वाले किसी भी डेटा को संपीड़ित करता है। zcache के साथ, Linux कर्नेल tmem के इंटरफेस के माध्यम से पूरे पेज के डेटा को "पूल" में संग्रहीत कर सकता है, हर एक बाइट डेटा को प्रबंधित करने के बजाय। Zcache बैकएंड तब डेटा के इन समूहों को संपीड़ित करता है।
Zswap की तरह, zcache केवल संपीड़ित डेटा को RAM में रखता है और असंपीड़ित पेज को वास्तविक स्वैप में धकेलता है, इस प्रकार दोनों का सर्वोत्तम उपयोग करता है।
कौन सा बेहतर है?
सिद्धांत रूप में, zcache समाधानों में सर्वश्रेष्ठ प्रदान करता है। हालांकि, इसका मतलब यह नहीं है कि व्यावहारिकता भी मायने रखती है। इसकी उन्नत सुविधाओं के बावजूद, zcache व्यापक रूप से असमर्थित है। इसका विकास रुक गया है, और इसे Linux कर्नेल के संस्करण 3.11 पर हटा दिया गया था। आज इसका उपयोग करने के लिए, आपको हुप्स से कूदना होगा, और परिणाम शायद zswap का उपयोग करने से बेहतर नहीं होगा।
दूसरी ओर, zram अधिक प्रतिबंधित है क्योंकि यह RAM में संग्रहीत एक वर्चुअल वॉल्यूम से थोड़ा अधिक है और स्वैप स्पेस के रूप में उपयोग किया जाता है। यह RAM के लिए तंग सिस्टम के साथ मदद कर सकता है लेकिन मूल रूप से बिना परवाह किए कि वे वास्तव में क्या हैं, चीजों को बिंदु A से बिंदु B और फिर बिंदु C पर ले जाकर काम करता है।
यह zswap को अधिकांश लिनक्स उपयोगकर्ताओं के लिए बेहतर विकल्प बनाता है, चाहे उनका वितरण कोई भी हो। इसका लाभ उठाने का तरीका देखने के लिए, zswap पर हमारी गाइड देखें।