Belge

Linux’taki En Çok Bellek Tüketen 10 İşlemi Nasıl Bulursunuz?

Hey, Linux halkı! CPU terlemese bile sisteminizin yavaşladığını fark ettiniz mi? Büyük ihtimalle bir şey tüm RAM’inizi yutuyordur. Belleğe aç işlemler sizi sinsice yakalayabilir ve siz farkına varmadan makineniz çılgınca değiş tokuş yapmaya veya donmaya başlar. Belleğinizi yiyen ilk 10 suçluyu nasıl bulacağınızı ve onları evcilleştirmek için neler yapabileceğinizi bulalım.

Linux’ta yüksek bellek tüketen işlemleri bulmak için hızlı komut şöyledir:

ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -n 11

Bellek Kullanımı Neden Önemlidir?

RAM, sisteminizin çalışma tezgahı gibidir; çalıştırdığınız her şeyin bir parçasına ihtiyacı vardır. İşlemler çok fazla yer kapladığında, başka hiçbir şeye yer kalmaz ve sisteminiz savrulmaya, takas alanına girmeye veya sürünerek yavaşlamaya başlar. İster güçlü bir sunucuda ister hafif bir dizüstü bilgisayarda olun, bellek kullanımını takip etmek size birçok baş ağrısından kurtarabilir. İyi haber mi? Linux’un bize yardımcı olacak bazı harika araçları var. Hadi başlayalım.

En Çok Bellek Yiyen 10 Kişiyi Nasıl Bulursunuz

RAM’inizi neyin tükettiğini tespit etmenin iki sağlam yolu şunlardır:

1.  top komutu

Muhtemelen top’u duymuşsunuzdur; bu, gerçek zamanlı olarak neler olup bittiğini gösteren kullanışlı küçük bir araçtır. Bir terminali çalıştırın ve şunu yazın:

top

Çalıştığında, %MEM sütununa bakın; bu sizin bellek kullanım yüzdenizdir. Varsayılan olarak, CPU’ya göre sıralar, bu yüzden Shift + F’ye basın, ok tuşlarıyla “%MEM”i seçin, Enter’a basın ve sonra sıralamak için q’ya basın. İlk 10 satır size en açgözlü işlemleri gösterecektir. Çıkmak için sadece q’ya dokunun. Çok kolay.

Sort processes by memory uses in top command
İşlemleri en üstteki komutta bellek kullanımlarına göre sırala

2. ps Kısayolu

Hızlı, gösterişsiz bir liste istiyorsanız, ps sizin dostunuzdur. Terminalde şunu deneyin:

ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -n 11

Evet, biraz canavarca ama işte dökümü: işlem kimliğini (PID), ana PID’yi, komutu ve bellek yüzdesini alır, bunları bellek kullanımına göre sıralar (en yüksek önce) ve en üst 10’a (artı bir başlık) sınırlar. Canlı güncellemelere gerek kalmadan temiz küçük bir liste elde edersiniz.

Top 10 memory using processes in Linux
En çok bellek tüketen 10 işlem

Bu Hafıza Tüketenleri Nasıl Düzeltirsiniz

Listeniz hazır mı? RAM’inizi boşaltmak için yapabilecekleriniz şunlardır:

1. İhtiyacınız Olmayan Şeyleri Öldürün

Eğer bir şey sadece orada durup hafızanızı yiyorsa (örneğin unuttuğunuz eski bir tarayıcı sekmesi gibi), onu bir kenara atın:

kill -9 2234

PID’yi değiştirin ve bitti. Sadece hayati bir şey olmadığını iki kez kontrol edin!

2. Önceliklerini Düşürün

Öldüremezsiniz ama sakinleşmesini mi istiyorsunuz? Daha az saldırgan hale getirmek için nice veya renice kullanın. Daha düşük önceliğe sahip bir işlem başlatın:

nice -n 10 python3 big_data.py

Veya halihazırda çalışan birini ayarlayın:

renice 10 -p 1123

Kaynakları o kadar fazla tüketmeyecek.

3. Sızıntıları veya Ayarlamaları Kontrol Edin

Kendi betiğinizse (Python işi gibi) veya MySQL gibi bir uygulamaysa, kötü davranıyor olabilir. Bellek sızıntılarını arayın (valgrind gibi araçlar yardımcı olabilir) veya ayarları değiştirin. MySQL için, yapılandırmadaki arabellek boyutlarını azaltın. Biraz araştırma gerektirir, ancak işe yarar.

4. Daha Fazla Swap Ekleyin (Eğer Çaresizseniz)

RAM’iniz mi azaldı ve hiçbir şeyi öldüremiyor musunuz? Hızlı bir çözüm olarak takas alanı ekleyin:

sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile

Bu 2 GB’lık bir takas dosyasıdır—gerektiği gibi ayarlayın. İdeal değil, ancak sizi idare edecektir.

5. Eşyalarınızı Güncelleyin

Eski yazılımlar bir elek gibi hafızayı sızdırabilir. Sisteminizi taze tutun:

sudo apt update && sudo apt upgrade

Bu Ubuntu/Debian içindir, kendi dağıtımınıza göre ayarlayabilirsiniz.

Gözünüzü Üzerinde Tutun

Oyunun bir adım önünde olmak ister misiniz? İşte nasıl:

    • htop: Daha iyi bir görünüme sahip. Kurulım (sudo apt install htop), F6 > %MEM ile belleğe göre sıralayın ve hazırsınız.
    • Cron: Her 5 dakikada bir bellek kullanımını kaydet:

*/5 * * * * ps -eo pid,cmd,%mem --sort=-%mem | head -n 11 >> /var/log/mem_usage.log
  • Büyük Araçlar: Ciddi kurulumlar için Prometheus veya Zabbix’i deneyin. Ev kullanımı için aşırıdırlar, ancak sunucular için harikadırlar.

 

 

 

Yazının orijinalini buradan okuyabilirsiniz.