Sunucu yavaşladığında sorunun kaynağını hızla tespit edebilmek, bir sistem yöneticisinin en temel becerileri arasındadır. CPU doygunluğu mu, bellek baskısı mı, disk I/O tıkanıklığı mı, ağ gecikme mi — her biri farklı araçlarla teşhis edilir.
CPU Kullanımı
# Anlık
top # temel izleyici
htop # renkli gelişmiş (sudo apt install htop)
# Süreç bazında CPU
ps aux --sort=-%cpu | head -11
# Detaylı CPU istatistikleri
mpstat 1 5 # her saniye, 5 örnek (sysstat paketi)
mpstat -P ALL 1 # her çekirdek ayrı
CPU istatistiklerinde kritik alanlar: us (kullanıcı alanı), sy (çekirdek), wa (I/O bekleme — yüksekse disk sorunu), st (sanallaştırma ortamında çalınan zaman).
Bellek Kullanımı
free -h # RAM ve swap durumu
vmstat 1 5 # bellek, swap, CPU, I/O özeti
cat /proc/meminfo # ayrıntılı bellek bilgisi
# En çok bellek kullanan süreçler
ps aux --sort=-%mem | head -11
free çıktısındaki "available" sütunu gerçek kullanılabilir belleği gösterir; "used" değeri yanıltıcı olabilir çünkü Linux boş belleği önbellek olarak kullanır.
Disk I/O
iostat 1 5 # disk I/O istatistikleri (sysstat)
iostat -x 1 # genişletilmiş: %util, await, iops
iotop # süreç bazında I/O (sudo apt install iotop)
# Disk kullanımı
df -h
du -sh /var/log/ # dizin boyutu
du -h --max-depth=1 / | sort -rh | head -10
%util değeri yüzde 70'i sürekli geçiyorsa disk I/O tıkanıklığı yaşıyorsunuzdur. await ortalama I/O bekleme süresini ms cinsinden gösterir.
Ağ Performansı
iftop # arayüz bazında gerçek zamanlı trafik
nethogs # süreç bazında bant genişliği
ss -s # bağlantı istatistikleri özeti
ss -tuln # dinleyen portlar
netstat -i # arayüz hata istatistikleri
Sistem Geneli İzleme
vmstat 1 10 # sistem özeti (süreçler, bellek, swap, I/O, CPU)
sar -u 1 5 # CPU geçmişi (sysstat)
sar -r 1 5 # bellek geçmişi
sar -d 1 5 # disk I/O geçmişi
Load Average
Load average sistemin son 1, 5 ve 15 dakikadaki ortalama yükünü gösterir:
uptime
cat /proc/loadavg
Değerleri CPU çekirdeği sayısıyla karşılaştırın: 4 çekirdekli sistemde load average 4.0 yüzde 100 kullanım demektir. Sürekli çekirdek sayısının üzerindeyse kaynak yetersiz kalıyor.
Performans Sorunlarını Teşhis Etme
Sorun geldiğinde şu sırayla kontrol edin:
topveyahtopile CPU ve bellek kullanan süreci bulun.iostat -x 1ile disk tıkanıklığı var mı kontrol edin.free -hile bellek ve swap kullanımına bakın; swap aktif kullanılıyorsa RAM yetersiz.ss -sile ağ bağlantı sayısını kontrol edin; TIME_WAIT birikiyorsa soket tükenimi olabilir.journalctl -p err --since "1 hour ago"ile son hataları görün.
Temel Optimizasyon Adımları
Swap Kullanımını Azaltma
cat /proc/sys/vm/swappiness # varsayılan genellikle 60
sudo sysctl -w vm.swappiness=10
# Kalıcı:
echo "vm.swappiness=10" | sudo tee /etc/sysctl.d/99-swappiness.conf
Gereksiz Servisleri Kapatma
systemctl list-units --type=service --state=running
sudo systemctl disable --now cups.service # yazıcı servisi, sunucuda gereksiz
OOM Killer Log'larını Kontrol Etme
dmesg | grep -i "oom"
journalctl -k | grep -i "out of memory"
OOM killer bir süreci sonlandırdıysa sistemde bellek tükenmesi yaşanıyordur; RAM eklemek veya bellek sızdıran süreci düzeltmek gerekir.
Henüz yorum yok.
Sohbete katıl. Yorumlar yayınlanmadan önce moderasyondan geçer.