Blog

Eğitimler, rehberler ve ürün haberleri.

Rehberler

Sunucum yavaşladı: RAM, CPU ve disk nasıl kontrol edilir?

2 Kasım 2026 4 dk okuma
Bu yazıyı paylaş

Sunucunuz yavaşladıysa üç şeye bakın: RAM, işlemci ve disk. Bağlanıp üç komut çalıştırmak yeter: bellek için free -h, işlemci için top, disk için df -h. Hangisi doluysa darboğaz odur. Üçü de rahatsa sorun genellikle uygulamanın kendisindedir.

Önce yüke bakın

Yük ortalaması, işlemciyi ya da diski bekleyen işlemlerin ortalama sayısıdır. Aşağıdaki çıktının ilk üç sayısı son 1, 5 ve 15 dakikanın ortalamasıdır. Bunları çekirdek sayısıyla karşılaştırın:

cat /proc/loadavg

nproc

Yük uzun süre çekirdek sayısının üstünde kalıyorsa sunucu işe yetişemiyordur.

RAM: free -h

free -h

En önemli sütun available (kullanılabilir) sütunudur. Çok küçükse ve Swap satırı doluyorsa RAM yetmiyor demektir. Bellek biterse çekirdek, en çok bellek kullanan işlemlerden birini sonlandırır (OOM killer). Veritabanının ya da web uygulamasının kendiliğinden kapanması çoğunlukla bunun işaretidir. Şöyle kontrol edin:

sudo dmesg -T | grep -i -E "out of memory|killed process"

İşlemci: top

top

Açılan ekranda P tuşu işlemleri işlemci kullanımına, M tuşu bellek kullanımına göre sıralar. q ile çıkarsınız. Üstteki işlemci satırında şunlara bakın:

  • us: kullanıcı işlemlerinin payı. Yüksekse bir uygulama işlemciyi yiyor.
  • wa: disk girdi/çıktısını bekleme süresi. Yüksekse sorun işlemci değil, disktir.
  • st: sanal sunucudan "çalınan" süre, yani sanallaştırma katmanının işlemciyi başka bir işe verdiği zaman. Sürekli yüksekse sorun sunucunuzun içinde olmayabilir. Bu durumda destek ekibine yazın.

Disk: df -h

df -h

df -i

İlk komut dolu alanı, ikincisi dosya sayısı sınırını (inode) gösterir. Disk tamamen dolarsa veritabanları ve uygulamalar yazamaz, sunucu yavaşlar ya da hata verir. Neyin yer kapladığını bulun:

sudo du -xh / --max-depth=1 2>/dev/null | sort -h | tail -n 8

Sistem günlükleri büyüdüyse sudo journalctl --vacuum-size=200M ile küçültebilirsiniz. Docker kullanıyorsanız docker system df imajların ve konteynerlerin kapladığı yeri, docker stats --no-stream hangi konteynerin ne kadar işlemci ve bellek yediğini gösterir.

Belirti, olası neden ve çözüm

BelirtiOlası nedenNe yapmalı?
Sayfalar ara sıra çok yavaş, available düşük, swap doluRAM yetersizGereksiz servisleri kapatın, uygulamanın bellek ayarlarını (örneğin PHP-FPM işçi sayısı, veritabanı belleği) kısın. Yetmezse sunucuyu büyütün.
Servis kendiliğinden kapanıyor, dmesg çıktısında "killed process"Bellek bitti, OOM killer devreye girdiRAM ekleyin ya da bellek tüketimini azaltın.
top'ta tek bir işlem bir çekirdeği tamamen dolduruyorTakılmış işlem, hatalı eklenti ya da döngüİşlemi bulun, ilgili uygulamayı ya da eklentiyi düzeltin veya kapatın.
Yük yüksek, işlemci boşta, wa yüksekDisk bekleniyor (yoğun yazma ya da swap)vmstat 1 5 çıktısında si ve so sütunlarına bakın. Swap kullanılıyorsa RAM ekleyin.
df -h ya da df -i doluDisk veya inode bittiBüyük dosyaları ve günlükleri temizleyin. Sürekli doluyorsa büyütün.
st sürekli yüksekSorun sunucunun dışında olabilirDestek ekibine yazın.

Seturack'ta her sunucunun disk hızı sınırlıdır: sürekli okumada 500 MB/sn ve 20.000 IOPS, sürekli yazmada 200 MB/sn ve 8.000 IOPS. iostat -x 1 5 çıktısında değerleriniz bu sayılara dayanıyorsa yavaşlamanın nedeni disk yoğunluğudur. İşi önbellekle azaltın ya da zamana yayın. iostat yoksa sudo apt install -y sysstat ile kurun.

Swap ne zaman yardım eder?

Swap, diskin RAM yerine kullanılmasıdır. Kısa süreli bellek sıçramalarında sunucunun OOM'dan kurtulmasını sağlar ama RAM kadar hızlı değildir. vmstat 1 5 çıktısında si ve so sürekli sıfırdan büyükse sunucu sürekli takasa yazıyor demektir. Çözüm swap değil RAM'dir. Swap yoksa (swapon --show boş dönüyorsa) ve sıçramaları yumuşatmak istiyorsanız 2 GB'lık bir takas dosyası ekleyebilirsiniz. Komutlar ext4 dosya sistemi içindir:

sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile

sudo mkswap /swapfile && sudo swapon /swapfile

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Kaynaklar rahatsa

RAM, işlemci ve disk rahat görünüyorsa top'ta en üstteki işlemin adına bakın:

  • php-fpm, apache2 ya da nginx önde ise sorun çoğunlukla sitenin kendisindedir: ağır bir eklenti, önbelleğin olmaması ya da ani bir ziyaretçi artışı.
  • mysqld ya da mariadbd önde ise yavaş sorgular vardır. Veritabanının yavaş sorgu günlüğünü açıp hangi sorguların uzun sürdüğüne bakın.
  • Tanımadığınız bir işlem sürekli işlemciyi yiyorsa sunucu ele geçirilmiş olabilir. Parolaları değiştirin, açık oturumlara ve sudo ss -tulpn çıktısına bakın, gerekirse sunucuyu temiz bir sistemle yeniden kurun.

Ne zaman büyütmeli?

Sıra şudur: önce ayarlayın, önbellekleyin, gereksiz işi kapatın. Yük bunlardan sonra da yüksekse sunucuyu büyütün. Panelde sunucunuzun Boyut sekmesini açın, kaydırıcıları yeni boyuta getirip onaylayın. Ödemeden sonra sunucu kendiliğinden bir kez yeniden başlar ve yeni boyutta açılır. IP adresiniz ve verileriniz aynı kalır, yalnız kalan günlerin farkını ödersiniz. RAM, vCore ve diski ayrı ayrı büyütebilirsiniz, yalnız yetmeyeni artırırsınız. Büyütmede disk de büyür, küçültmede ise disk küçülmez. Ayrıntılar için büyütme ve küçültme yazısına bakın.

Yük yüzünden sunucu hiç yanıt vermiyorsa SSH bağlanamayabilir. O zaman panelden VNC Konsol'u açın ya da sunucuyu panelden yeniden başlatın.

Yorumlar0

Henüz Yorum Yok

İlk düşüncenizi paylaşan siz olun.

Tartışmaya Katıl

Yorum bırakmak için lütfen giriş yapın veya kaydolun.

Hiçbir Yazıyı Kaçırmayın

En yeni eğitim, rehber ve ürün haberlerini gelen kutunuzda alın.

Bülten aboneliğiniz alındı.