Linux'ta RAM ve CPU Kullanımı Nasıl Azaltılır
(tecmint.com)Linux verimli bir işletim sistemi olsa da, RAM ve CPU'nun aşırı kullanımı performans düşüşüne ve sistem kararsızlığına yol açabilir.
Bu yazıda izleme araçları, süreç yönetimi, çekirdek ayarlamaları gibi pratik optimizasyon yöntemleri açıklanıyor.
1. Çok kaynak tüketen süreçleri bulma
CPU ve bellek kullanımı yüksek süreçleri görmek için top, htop, ps komutlarını kullanın.
Daha sonra işlem yapmak için PID bilgisini not edin.
# top
top # P: CPU sıralama, M: bellek sıralama
# htop kurulum ve çalıştırma
sudo apt install htop
htop # F6: sıralama, F9: sonlandırma
# ps komutu
ps aux --sort=-%mem | head
ps aux --sort=-%cpu | head
2. Gereksiz süreçleri sonlandırma
Aşırı kaynak kullanan süreçleri kill, kill -9, pkill komutlarıyla sonlandırabilirsiniz.
Yanıt vermeyen süreçler zorla kapatılabilir veya ada göre toplu şekilde sonlandırılabilir.
kill PID
kill -9 PID
pkill process_name
3. Otomatik başlayan programları optimize etme
Önyükleme sırasında otomatik çalışan servisleri systemctl ile kontrol edin ve gereksiz olanları devre dışı bırakın.
GUI ortamında başlangıç uygulamaları yöneticisi de kullanılabilir.
systemctl list-unit-files --type=service | grep enabled
sudo systemctl disable 서비스이름
4. Swappiness ayarı
Swappiness, swap belleğinin ne sıklıkla kullanılacağını belirleyen bir ayardır.
Varsayılan değer olan 60'ı 10'a düşürmek, RAM kullanımına öncelik vererek performansı iyileştirmeye yardımcı olabilir.
cat /proc/sys/vm/swappiness
sudo nano /etc/sysctl.conf # vm.swappiness=10 ekleyin
sudo sysctl -p
5. Hafif masaüstü ortamları kullanma
GNOME ve KDE yerine XFCE, LXDE, MATE gibi hafif masaüstü ortamları kullanmak kaynak tasarrufu sağlayabilir.
Aynı şekilde uygulamaları da daha hafif editörler, tarayıcılar ve dosya yöneticileriyle değiştirebilirsiniz.
6. Önbellek ve tamponları manuel temizleme
Linux performansı artırmak için RAM'i önbellek olarak kullanır, ancak gerektiğinde manuel temizlik de yapılabilir.
Yine de geçici performans düşüşü olabileceği için dikkatli olunmalıdır.
sudo sync; sudo sysctl -w vm.drop_caches=3
7. Çekirdek parametrelerini optimize etme
Disk yazma sıklığı veya minimum boş RAM miktarı gibi çekirdek parametrelerini değiştirerek kaynak yönetimini daha verimli hale getirebilirsiniz.
# /etc/sysctl.conf içine eklenecek örnek öğeler
vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.min_free_kbytes=65536
kernel.sched_autogroup_enabled=0
8. ZRAM kullanımı
ZRAM, belleği sıkıştırarak kullanan bir özelliktir ve RAM tasarrufunda etkilidir.
Zswap da birlikte ayarlanırsa sıkıştırma tabanlı swap etkinleşir.
sudo apt install zram-config
sudo systemctl start zram-config
# GRUB ayarı ekleme
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
sudo update-grub
sudo reboot
9. Süreçlerin CPU kullanımını sınırlama
Belirli bir sürecin CPU kullanımını cpulimit komutuyla sınırlandırabilirsiniz.
Kalıcı sınırlandırma için systemd ayarları da kullanılabilir.
sudo apt install cpulimit
sudo cpulimit -e firefox -l 30 # firefox'u %30 ile sınırla
# systemd ile ayarlama
sudo systemctl set-property 서비스이름 CPUQuota=30%
10. Sistemi düzenli güncelleme
En güncel güncellemeler performans iyileştirmeleri ve hata düzeltmeleri içerdiğinden düzenli olarak uygulanmalıdır.
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo yum update # RHEL/CentOS
6 yorum
Asahi Linux'te
zswapkullanılıyor vezramdevre dışı bırakılıyorhttps://web.archive.org/web/20241126234212/…
https://social.treehouse.systems/@AsahiLinux/113532720695827142
zramkonusunu ilk kez duydum; ne gibi dezavantajları olabileceğini merak edip qwq:32b'ye sordum.Linux dağıtımları neden varsayılan olarak
zram'ı etkinleştirmiyor?Modern sistemlerde bellek yetersizliği sorununun azalması: Günümüzde çoğu PC varsayılan olarak 4 GB veya daha fazla RAM ile geliyor. Bellek yetersizliğinin daha az görüldüğü ortamlarda
zramihtiyacı düşüktür.CPU yükü riski:
zram, CPU kullanımını artırabilir; bu yüzden her donanım için güvenli değildir.Dağıtımlar "genel kullanım ortamını" önceliklendirdiği için,
zram'ın CPU ek yüküne katlanmaya değmeyebileceğini düşünebilir.Swap'in temel kullanım biçiminin değişmesi: SSD'lerin yaygınlaşmasıyla geleneksel swap disklerinin hızı büyük ölçüde arttı.
zram'ın hız avantajı geçmişe kıyasla görece daha az belirgin hale geldi.Kullanıcı ortamlarının çeşitliliği:
zram, yalnızca belirli ortamlarda (ör. düşük özellikli cihazlar) etkilidir ve genel kullanıcı için kayda değer bir fayda sağlamaz.Dağıtımlar "minimum ayarla maksimum uyumluluk" hedeflediği için
zram'ı varsayılan olarak etkinleştirmez.Yapılandırma karmaşıklığı: En iyi verimi almak için
zramboyutu, sıkıştırma algoritması vb. ayarların elle düzenlenmesi gerekir; genel kullanıcıların bunu anlaması zor olabilir.mac os'ta da bellek sıkıştırma aktif olarak kullanılıyor.
> Linux dağıtımları neden varsayılan olarak zram'ı etkinleştirmiyor?
Fedora 33 ve openSUSE, Aeon'dan itibaren ZRAM'i varsayılan olarak etkinleştiriyor.
Her zaman önce benchmark gelir, ama düşünüldüğünden daha kullanışlı olabilir.
zswapoldukça kullanışlı. macOS'ta da benzer bir özellik varsayılan olarak etkin bir seçenek. Dizüstü bilgisayar gibi kaynakların sınırlı olduğu ortamlarda tarayıcıyı açtığınızda veya çok sayıda uygulama çalıştırdığınızda iyi çalışıyor. Ancak belirttiğiniz gibi CPU açısından bir ödünleşim var, bu yüzden pile etkisi olacaktır.zram ile zswap farklı şeyler mi?
sudo apt install zram-toolssystemctl enable zramswapBunu bu şekilde kullanıyorum ama zswap denen şeyin bu olup olmadığından emin değilim..
Teknik adlandırma epey kafa karıştırıcı.
zram, çekirdek özelliği olarak otomatik sıkıştırma işlevine sahip bir blok aygıtı, yani bir tür depolama alanı oluşturmaya yarıyor. Ardından bu depolama alanı üzerinde bildiğimiz sıradan bir swap dosyası oluşturup kullanırsak, bu da bir bakıma RAM tabanlı swap + sıkıştırma işlevi kazanmış oluyor.zramswapservisinin de böyle bir rol üstlendiği anlaşılıyor. Ancak daha sonra bu kullanım örneğinin faydalı olduğu düşünülerek,zram+swapbütünüyle çekirdek işlevi olarak entegre ediliyor. İşte bu dazswap.zswap, çoğu Linux dağıtımında ek kurulum olmadan yalnızca komutlarla etkinleştirilebiliyor. (Bkz. https://wiki.archlinux.org/title/Zswap)