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