जबकि ZRAM कुछ CPU हॉर्सपावर का व्यापार करके अधिक RAM प्राप्त करने का एक शानदार समाधान है, आप इसे ZRAM को अधिक या कम RAM समर्पित करने के लिए कैसे कॉन्फ़िगर कर सकते हैं? आप कंप्रेशन एल्गोरिदम को कैसे बदल सकते हैं? ऐसे परिवर्तन किन परिदृश्यों में सार्थक हैं? Ubuntu पर ZRAM को कॉन्फ़िगर करने का तरीका जानने के लिए आगे पढ़ें।
अपनी वर्तमान ZRAM स्थिति जांचें
अधिकांश लोग zram-config स्क्रिप्ट के माध्यम से अपने Ubuntu, Mint, या अन्य संगत डिस्ट्रीब्यूशन पर ZRAM का उपयोग करते हैं। ऐसा इसलिए है क्योंकि यह आपको ZRAM का लाभ सबसे सीधे तरीके से लेने की अनुमति देता है। आप इसे इस कमांड से इंस्टॉल कर सकते हैं:
sudo apt install zram-config
इसके डिफ़ॉल्ट मान ZRAM को आपके कंप्यूटर के वास्तविक RAM का आधा सेट करते हैं, जिसे आपके CPU के प्रत्येक कोर के लिए एकाधिक पार्टीशन में विभाजित किया जाता है। आप इसे इससे देख सकते हैं:
cat /proc/swaps
आप हमारे स्क्रीनशॉट में एक सामान्य स्वैप फाइल ("/var/cache/swap/swapfile" एंट्री) को आठ ZRAM वॉल्यूम के साथ सहअस्तित्व में देख सकते हैं। मेरे सिस्टम में 8GB RAM था। अगर आप उन ZRAM वॉल्यूम को एक साथ जोड़ते हैं, तो योग 4GB है, जो हमारे RAM की मात्रा का आधा है। हालांकि, आपके वर्कलोड के आधार पर, आप उस आकार को बदलना चाह सकते हैं।
- अगर आप मल्टीमीडिया और वीडियो के साथ काम कर रहे हैं, तो वे बहुत कंप्रेसिबल नहीं हैं, इसलिए शायद सबसे अच्छा है कि आप अपने ZRAM का आकार कम करें और अपने वास्तविक स्वैप का आकार बढ़ाएं।
- अगर आप बड़े डेटाबेस या अन्य प्रकार के डेटा के साथ काम कर रहे हैं जो अत्यधिक कंप्रेसिबल हैं, तो यह विपरीत है। ऐसे परिदृश्यों में, आप ZRAM के आकार को बढ़ाकर अपने कंप्यूटर की प्रतिक्रियाशीलता बढ़ा सकते हैं।
एक और ट्वीक जो देखने लायक है वह ZRAM द्वारा उपयोग किए जाने वाले कंप्रेशन एल्गोरिदम से संबंधित है। डिफ़ॉल्ट रूप से, यह LZO या LZO-RLE का उपयोग करता है, जो CPU पर हल्का है। हालांकि, आधुनिक CPUs पर, नया ZSTD एल्गोरिदम आमतौर पर बेहतर कंप्रेशन दर प्रदान करता है, और CPU पर इसका थोड़ा अधिक भार महसूस नहीं होता। अगर आपका PC एक दशक से कम पुराना है तो इस एल्गोरिदम का उपयोग पुराने LZO वेरिएंट के बजाय करना उचित है।
आप zramctl कमांड का उपयोग करके ZRAM द्वारा वर्तमान में उपयोग किए जा रहे एल्गोरिदम की जांच कर सकते हैं। टर्मिनल में zramctl टाइप करें और अपने ZRAM स्वैप देखने के लिए Enter दबाएं।
Zramctl आपके डिस्ट्रीब्यूशन पर पहले से ही उपलब्ध होना चाहिए। अगर यह नहीं है, चूंकि यह util-linux पैकेज का हिस्सा है, तो आप इसे इसके साथ ला सकते हैं:
sudo apt install util-linux
ZRAM कैसे काम करता है इसे नियंत्रित करने के लिए, हालांकि, आपको इसकी मुख्य स्क्रिप्ट को ट्वीक करना होगा। आइए इसके द्वारा उपयोग की जाने वाली RAM की मात्रा को बदलकर शुरू करें।
ZRAM आकार बदलें
ZRAM सेटिंग्स बदलने के लिए, आपको bin फोल्डर में इसकी exec स्क्रिप्ट को संपादित करना होगा। टर्मिनल में निम्न कमांड टाइप करें:
sudo nano /usr/bin/init-zram-swapping
ZRAM द्वारा उपयोग की जाने वाली RAM की मात्रा बदलने के लिए, आपको निम्न लाइन को संपादित करना होगा:
mem=$(((totalmem / 2 / ${NRDEVICES}) * 1024 ))
यह लाइन कुछ सरल गणनाओं के आधार पर ZRAM द्वारा उपयोग की जाने वाली RAM की मात्रा को परिभाषित करती है:
totalmemआपके PC पर इंस्टॉल RAM की मात्रा है/2totalmem को दो से विभाजित करता है, जिसका अनुवाद "कुल RAM की आधी मात्रा" होता है/ ${NRDEVICES}उस संख्या को आपके PC पर कोर की संख्या से विभाजित करता है* 1024उपरोक्त के परिणाम को 1024 से गुणा करता है
आप बिंदु 1 और 3 में कुछ भी नहीं बदल सकते और नहीं बदलना चाहिए, लेकिन आप बिंदु 2 और 4 में मानों के साथ खेलकर ZRAM द्वारा उपयोग की जाने वाली RAM की मात्रा को ट्वीक कर सकते हैं।
/ 2को/ 4तक बढ़ाकर, आपकी कुल RAM की मात्रा दो के बजाय चार से विभाजित होगी। इस प्रकार, ZRAM आधे के बजाय आपके RAM का केवल एक चौथाई उपयोग करेगा। हम आपके पूरे RAM को ZRAM को समर्पित करने की सलाह नहीं देंगे, इसलिए इस मान को/ 2पर छोड़ना सबसे अच्छा है या इसे बढ़ाएं यदि आप चाहते हैं कि ZRAM कम मेमोरी का उपयोग करे।
- इसी तरह,
/ 2को बनाए रखते हुए लेकिन1024को512तक घटाकर, आप वही परिणाम प्राप्त करेंगे क्योंकि आप प्रत्येक डिवाइस के लिए उपलब्ध RAM को आधा कर देंगे। यदि आप ZRAM को अधिक RAM का उपयोग करना चाहते हैं, तो आप इस मान को1536तक बढ़ा सकते हैं।
ZRAM कंप्रेशन एल्गोरिदम बदलें
आप उसी स्थान से ZRAM के कंप्रेशन एल्गोरिदम को बदल सकते हैं।
सबसे पहले, जांचें कि यह वर्तमान में किस कंप्रेशन एल्गोरिदम का उपयोग करता है:
cat /sys/block/zram0/comp_algorithm
आप उन्नत कस्टम ZRAM कॉन्फ़िगरेशन में एल्गोरिदम को मिक्स और मैच कर सकते हैं। हालांकि, यदि आप डिफ़ॉल्ट मानों का उपयोग कर रहे हैं, तो सभी ZRAM पार्टीशन उसी एल्गोरिदम का उपयोग करेंगे। इस प्रकार, आपको उन सभी की जांच करने की आवश्यकता नहीं है - उपरोक्त कमांड में, हम केवल पहले की जांच कर रहे हैं।
हम पहले से ही ZSTD एल्गोरिदम का उपयोग कर रहे थे, जिसे आप स्क्रीनशॉट में कोष्ठक में संलग्न देख सकते हैं। इसे अब कंप्रेशन दरों, गति और संसाधन मांग के बीच सबसे अच्छा समाधान माना जाता है, इसलिए इसे वैसे ही छोड़ दें। हालांकि, यदि आप डिफ़ॉल्ट का उपयोग कर रहे हैं, तो आपके पास या तो LZO या LZO-RLE सक्षम होगा। इसे बदलने के लिए, पहले संपादित की गई init-zram-swapping exec स्क्रिप्ट पर वापस जाएं। वहां, निम्न लाइन ढूंढें:
echo $mem > /sys/block/zram${DEVNUMBER}/disksize
इसे कॉपी करें और फिर इसे सीधे नीचे पेस्ट करें ताकि आपके पास उसी कमांड के दो उदाहरण हों। यह लाइन उन गणनाओं के परिणाम को असाइन करती है जिन्हें हमने पहले देखा था, प्रत्येक ZRAM वॉल्यूम के आकार के रूप में। हालांकि, हम इसका उपयोग कंप्रेशन एल्गोरिदम को परिभाषित करने के लिए करेंगे।
- लाइन की शुरुआत में
$memकोzstdसे बदलें। - लाइन के अंत में
disksizeकोcomp_algorithmसे बदलें।
संशोधित लाइन इस तरह दिखनी चाहिए:
echo zstd > /sys/block/zram${DEVNUMBER}/comp_algorithm
हमारी संशोधित लाइन zstd को पैरामीटर comp_algorithm में मान के रूप में प्रतिध्वनित करती है।
यदि आप एक अलग एल्गोरिदम का उपयोग करना चाहते हैं, तो उपरोक्त कमांड में zstd को एल्गोरिदम के नाम से बदलें।
संशोधित फाइल को सेव करें, अपने कंप्यूटर को पुनरारंभ करें, और परिणाम जांचें।
सुनिश्चित करें कि जब आपका सिस्टम सक्रिय रूप से आपके संशोधित स्वैप का उपयोग कर रहा हो तो लोड के तहत उसके प्रदर्शन की जांच करें। यदि आपको लगता है कि यह हकल रहा है या अटक रहा है, तो आपने इसे ज़्यादा कर दिया होगा और आपके द्वारा चुने गए मानों को कम करने की आवश्यकता होगी। यदि, दूसरी ओर, यह उड़ रहा है, तो आप शायद उन्हें कुछ और बढ़ा सकते हैं।
अब जब आप जानते हैं कि Ubuntu में ZRAM को कैसे कॉन्फ़िगर किया जाता है, यदि आप एक अधिक शक्तिशाली PC बनाने की तलाश में हैं, तो यहां वे चीजें हैं जिन पर ध्यान देना चाहिए जब Linux के लिए PC बना रहे हों।