Linux में RAM और CPU उपयोग कम करने के तरीके
(tecmint.com)Linux एक efficient OS है, लेकिन RAM और CPU का अत्यधिक उपयोग performance में गिरावट और system instability का कारण बन सकता है.
इस लेख में monitoring tools, process management, kernel tuning आदि के व्यावहारिक optimization तरीकों की व्याख्या की गई है.
1. ज़्यादा resource इस्तेमाल करने वाली processes ढूँढें
top, htop, ps कमांड का उपयोग करके CPU और memory usage अधिक वाली processes की पहचान करें.
बाद की कार्रवाई के लिए PID नोट कर लें.
# top
top # P: CPU sort, M: memory sort
# htop install और run
sudo apt install htop
htop # F6: sort, F9: quit
# ps command
ps aux --sort=-%mem | head
ps aux --sort=-%cpu | head
2. अनावश्यक processes बंद करें
kill, kill -9, pkill कमांड से ज़रूरत से ज़्यादा resources लेने वाली processes को बंद किया जा सकता है.
जो processes response नहीं दे रही हों, उन्हें force quit करें या नाम के आधार पर एक साथ बंद करें.
kill PID
kill -9 PID
pkill process_name
3. startup programs को optimize करें
systemctl से boot के समय अपने-आप चलने वाली services की जाँच करें और अनावश्यक items को disable करें.
GUI environment में startup applications manager का उपयोग किया जा सकता है.
systemctl list-unit-files --type=service | grep enabled
sudo systemctl disable 서비스이름
4. swappiness समायोजित करें
swappiness एक setting है जो swap memory के उपयोग की आवृत्ति को नियंत्रित करती है.
default value 60 से 10 पर लाने से RAM usage को प्राथमिकता मिलती है और performance बेहतर हो सकती है.
cat /proc/sys/vm/swappiness
sudo nano /etc/sysctl.conf # vm.swappiness=10 जोड़ें
sudo sysctl -p
5. lightweight desktop environment का उपयोग करें
GNOME, KDE की जगह XFCE, LXDE, MATE जैसे हल्के desktop environments इस्तेमाल करने से resources बचाए जा सकते हैं.
इसी तरह apps को भी हल्के editor, browser और file manager से बदला जा सकता है.
6. cache और buffer को manually साफ करें
Linux performance सुधारने के लिए RAM को cache के रूप में उपयोग करता है, लेकिन ज़रूरत पड़ने पर इसे manually साफ भी किया जा सकता है.
हालाँकि, इससे अस्थायी performance drop हो सकता है, इसलिए सावधानी ज़रूरी है.
sudo sync; sudo sysctl -w vm.drop_caches=3
7. kernel parameters को optimize करें
disk write frequency या RAM की minimum free capacity जैसे kernel parameters बदलकर resource management को अधिक efficient बनाया जा सकता है.
# /etc/sysctl.conf में जोड़ने के example items
vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.min_free_kbytes=65536
kernel.sched_autogroup_enabled=0
8. ZRAM का उपयोग
ZRAM memory compression का उपयोग करने वाली एक सुविधा है, जो RAM बचाने में प्रभावी है.
Zswap को साथ में configure करने पर compression-based swap सक्रिय हो जाता है.
sudo apt install zram-config
sudo systemctl start zram-config
# GRUB setting जोड़ें
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
sudo update-grub
sudo reboot
9. process के CPU usage को सीमित करें
cpulimit कमांड के जरिए किसी specific process के CPU usage को सीमित किया जा सकता है.
systemd settings का उपयोग करके permanent limit भी लगाई जा सकती है.
sudo apt install cpulimit
sudo cpulimit -e firefox -l 30 # firefox को 30% तक सीमित करें
# systemd से configure करें
sudo systemctl set-property 서비스이름 CPUQuota=30%
10. system को नियमित रूप से update करें
नवीनतम updates performance improvements और bug fixes में मदद करते हैं, इसलिए इन्हें नियमित रूप से करना चाहिए.
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo yum update # RHEL/CentOS
6 टिप्पणियां
Asahi Linux में
zswapका उपयोग किया जाता है औरzramको निष्क्रिय रखा जाता हैhttps://web.archive.org/web/20241126234212/…
https://social.treehouse.systems/@AsahiLinux/113532720695827142
मुझे
zramके बारे में पहली बार पता चला, तो इसके क्या नुकसान हो सकते हैं यह जानने के लिए मैंने qwq:32b से पूछा।Linux distributions डिफ़ॉल्ट रूप से
zramको क्यों सक्षम नहीं करते?क्योंकि आधुनिक सिस्टम में मेमोरी की कमी की समस्या कम हो गई है: आजकल अधिकांश PC में बेसिक रूप से 4GB या उससे अधिक RAM होती है। जिन वातावरणों में मेमोरी की कमी की समस्या कम होती है, वहाँ
zramकी ज़रूरत भी कम होती है।CPU लोड का जोखिम:
zramCPU उपयोग बढ़ा सकता है, इसलिए यह हर तरह के hardware पर सुरक्षित विकल्प नहीं है।चूँकि distributions "सामान्य वातावरण" को प्राथमिकता देते हैं, इसलिए वे यह मान सकते हैं कि
zramके CPU overhead को स्वीकार करना लाभकारी नहीं है।swap के डिफ़ॉल्ट उपयोग के तरीके में बदलाव: SSD के प्रसार से पारंपरिक swap disk की गति काफ़ी बेहतर हो गई है।
इस वजह से
zramका speed advantage पहले की तुलना में अपेक्षाकृत कम प्रमुख रह गया है।यूज़र वातावरणों की विविधता:
zramकेवल कुछ खास वातावरणों (जैसे: लो-स्पेक डिवाइस) में प्रभावी है, और सामान्य उपयोगकर्ताओं के लिए इसका कोई खास लाभ नहीं है।distributions "कम से कम सेटिंग्स के साथ अधिकतम compatibility" को लक्ष्य बनाते हैं, इसलिए वे
zramको डिफ़ॉल्ट रूप से सक्षम नहीं करते।सेटिंग की जटिलता: सर्वोत्तम अनुकूलन के लिए
zramका आकार, compression algorithm आदि को मैन्युअली समायोजित करना पड़ता है, और सामान्य उपयोगकर्ताओं के लिए इसे समझना कठिन हो सकता है.mac os में भी memory compression का सक्रिय रूप से उपयोग किया जाता है.
> Linux distributions डिफ़ॉल्ट रूप से zram को सक्षम क्यों नहीं करते?
Fedora 33 और openSUSE, Aeon से ZRAM को डिफ़ॉल्ट रूप से सक्षम करते हैं.
बेंचमार्क हमेशा पहले आते हैं, लेकिन यह सोच से ज़्यादा उपयोगी हो सकता है.
zswap काफ़ी काम का है। macOS में इसी तरह का फ़ीचर डिफ़ॉल्ट रूप से enabled option के तौर पर भी होता है। लैपटॉप जैसे सीमित resource वाले माहौल में browser खोलने या कई apps चलाने पर यह अच्छी तरह काम करता है। लेकिन, जैसा आपने कहा, इसमें CPU trade-off है, इसलिए battery पर असर पड़ेगा।
zramऔरzswapक्या अलग चीज़ें हैं?sudo apt install zram-toolssystemctl enable zramswapमैं इसे ऐसे इस्तेमाल कर रहा हूँ, लेकिन समझ नहीं आ रहा कि
zswapयही है या नहीं..तकनीकी नाम काफ़ी भ्रमित करने वाले हैं।
zramएक kernel feature है, जो automatic compression वाला block device, यानी एक तरह का storage बनाता है। और अगर उस storage के ऊपर हम वह सामान्यswapfile बनाकर इस्तेमाल करें जिसे हम जानते हैं, तो वह एक तरह की RAM-based swap + compression सुविधा दे देता है। लगता हैzramswapservice यही भूमिका निभाती है। लेकिन बाद में यह लगा कि यह उपयोग का मामला काफ़ी काम का है, इसलिएzram+swapको पूरा का पूरा kernel feature में integrate कर दिया गया। वहीzswapहै।zswapको ज़्यादातर Linux distributions में अलग से install किए बिना सिर्फ़ command से enable किया जा सकता है। (संदर्भ https://wiki.archlinux.org/title/Zswap)