Linux tabanlı web sunucularında yüksek RAM kullanımı; sitelerin yavaşlamasına, PHP işlemlerinin sonlanmasına veya OOM (Out Of Memory) Killer mekanizmasının kritik servisleri (MySQL/MariaDB, Nginx vb.) kapatmasına neden olabilir. Özellikle cPanel, Plesk, CyberPanel veya DirectAdmin gibi kontrol panellerinde her site genellikle ayrı bir sistem kullanıcısı veya PHP-FPM havuzu altında çalışır.
Bu rehberde, Linux VDS sunucularınızda en çok bellek tüketen kullanıcıları, siteleri ve süreçleri (process) SSH üzerinden nasıl tespit edeceğinizi ve önbellekte biriken RAM'i güvenli şekilde nasıl boşaltacağınızı inceleyeceğiz.
1. ps Komutu ile En Çok RAM Tüketen İlk 10 İşlemi Sıralama
Linux'ta anlık çalışan tüm süreçleri bellek tüketimine göre büyükten küçüğe sıralamak için ps komutunu sort parametresiyle kullanabilirsiniz.
Terminal üzerinden şu komutu çalıştırın:
ps aux --sort=-%mem | head -n 10
Çıktı Sütunlarının Anlamı:
USER: İşlemi çalıştıran sistem veya site kullanıcısı (cPanel/Plesk ortamında site kullanıcı adınızı burada görürsünüz).
PID: Sürecin benzersiz kimlik numarası (Process ID).
%MEM: Sürecin toplam sunucu RAM'inin yüzde kaçını kullandığı.
COMMAND: Çalıştırılan komut veya PHP/Nginx/MySQL betiği.
DoğruHost İpucu: Eğer cPanel veya Plesk kullanıyorsanız,
%MEMsütununda en üstte yer alan kullanıcı adı doğrudan ilgili sitenizin hesabına karşılık gelir. Böylece hangi sitenin aşırı kaynak tükettiğini anında tespit edebilirsiniz.
2. Alternatif ve Özelleştirilmiş Süreç Sıralama Komutu
Sadece ihtiyaç duyduğunuz sütunları (PID, Kullanıcı Adı, RAM Yüzdesi ve Komut) görüntülemek ve tüm listeyi bellek kullanımına göre sıralamak için şu komut yapısını tercih edebilirsiniz:
ps -o pid,user,%mem,command -ax | sort -b -k3 -r | head -n 20
Komut Parametrelerinin İşlevi:
-o pid,user,%mem,command: Ekranda yalnızca bu 4 özel sütunun görünmesini sağlar.sort -b -k3 -r: 3. sütun olan%MEM(RAM yüzdesi) değerine göre büyükten küçüğe sıralama yapar.head -n 20: Yalnızca en çok kaynak tüketen ilk 20 süreci listeler.
3. Anlık ve Canlı İzleme: htop / top Kullanımı
Komut satırından anlık olarak RAM değişimini izlemek isterseniz top veya görsel olarak daha gelişmiş olan htop aracını kullanabilirsiniz.
# htop kurulu değilse (EPEL veya standart depodan yüklenebilir)
htop
htopekranı açıldıktan sonra klavyenizdenF6tuşuna basıpPERCENT_MEMseçeneğini işaretleyerek veya doğrudanShift + Mkombinasyonuyla süreçleri bellek kullanımına göre canlı olarak sıralayabilirsiniz.
4. Geçici Bellek (RAM Cache) Temizleme
Linux işletim sistemleri, boşta kalan RAM'i performans artışı sağlamak amacıyla dosya okuma/yazma önbelleği (dentries ve inodes) olarak kullanır. Bazen yüksek bellek kullanımı uyarısı aldığınızda bu bellek aslında işletim sisteminin önbelleğidir.
Acil durumlarda veya bellek kilitlenmelerinde RAM üzerindeki geçici önbelleği güvenli şekilde boşaltmak için şu komut dizisini kullanabilirsiniz:
# Önce disk senkronizasyonu yapın
sync
# Önbellekteki dizin ve inode yapılarını temizleyin
echo 2 > /proc/sys/vm/drop_caches
Önemli Not: Eğer hem sayfa önbelleğini (pagecache) hem de dizin/inode yapılarını tamamen temizlemek isterseniz
echo 3 > /proc/sys/vm/drop_cacheskomutunu kullanabilirsiniz. Ancak Linux'un belleği önbelleğe alması normal ve sağlıklı bir davranıştır; bu komut yalnızca geçici çözümler veya test süreçleri için önerilir.
DoğruHost altyapısındaki sunucularınızda kaynak kullanım optimizasyonu veya donanım yükseltme ihtiyaçlarınız için dilediğiniz zaman teknik destek ekibimizle iletişime geçebilirsiniz.
