Linux sunucularda performans izleme, sistem yöneticilerinin en kritik görevlerinden biridir.
Linux sunucularda performans izleme, sistem yöneticilerinin en kritik görevlerinden biridir. Load average, sunucunun işlem yükünü özetleyen temel bir metriktir ve uptime komutu ile kolayca görüntülenebilir. Bu değer, son 1, 5 ve 15 dakikalık dönemlerdeki ortalama yükü gösterir. Yüksek load average değerleri, CPU, bellek veya I/O tıkanıklıklarını işaret edebilir. Bu makalede, load average’ı doğru yorumlama yöntemlerini adım adım ele alacak, pratik örnekler verecek ve optimizasyon ipuçları sunacağız. Böylece, sunucunuzun sağlığını proaktif olarak yönetebilirsiniz.
Load average değerlerini görüntülemek için terminalde uptime komutunu çalıştırın. Örnek çıktı: 12:34:56 up 5 days, 3:21, 3 users, load average: 0.45, 0.67, 0.89. Burada 0.45 (1 dakika), 0.67 (5 dakika) ve 0.89 (15 dakika) ortalamalarıdır. Bu değerler, çalıştırılabilir süreçlerin (runnable processes) sayısını yansıtır; yani CPU’ya erişim bekleyen veya kesilmiş (interrupted) işleri içerir.
Sistemdeki CPU çekirdek sayısını nproc veya lscpu | grep "CPU(s)" ile öğrenin. Load average, çekirdek sayısından düşükse sistem rahat, eşit veya yüksekse yük altında demektir. Örneğin, 4 çekirdekli bir sunucuda 4.0 üzeri load average, tam kapasite kullanımını gösterir. Bu metrik, sadece CPU’yu değil, disk I/O veya ağ tıkanıklıklarını da dolaylı yansıtır çünkü bekleyen işlemler load’u artırır.
top veya htop ile gerçek zamanlı izleyin: %CPU ve %WA (I/O bekleme) sütunlarını kontrol edin.vmstat 1 5 ile kısa vadeli istatistikler alın: r (çalışan işler) ve b (bekleyen işler) sütunları load average ile ilişkilidir.1 dakikalık değer ani yükleri, 15 dakikalık ise uzun vadeli trendleri gösterir. Yükselen bir trend (örneğin 0.5’ten 2.0’a) kronik sorunları işaret eder. Tek çekirdekli sunucuda 1.0 üzeri, multiçekirdekli için çekirdek sayısının 1.5 katı kritik eşiktir. Pratikte, uptimeı cron job ile loglayın: * * * * * /usr/bin/uptime >> /var/log/loadavg.log. Bu logları awk ile analiz edin, örneğin ortalamaları hesaplayarak e-posta uyarısı kurun.
Trendleri yorumlarken saatlik pattern’leri gözlemleyin: Gece düşük, gündüz yüksekse trafik kaynaklıdır. Ani sıçramalar için sar -q (sysstat paketiyle) geçmiş verileri inceleyin.
Çekirdek sayısını N olarak alırsak, sağlıklı load N’in altıdır. 8 çekirdek için 8.0 üzeri alarm verin. cat /proc/cpuinfo | grep "processor" | wc -l ile N’i doğrulayın. Yüksek load’da mpstat -P ALL 1 5 ile her çekirdeğin kullanımını görün: Dengesiz dağılım affinity sorunudur, taskset ile düzeltin.
Örnek: Load 12.0 ise, 8 çekirdek için %150 yük demek; ekstra 4 eşdeğer iş bekliyor. Bu, bellek swap’ini tetikleyebilir, free -h ile kontrol edin.
Düşük yük örneği: Idle sunucuda 0.1, 0.2, 0.3 – mükemmel. Orta yük: Web sunucusu trafiğinde 2.5, 3.0, 2.8 (4 çekirdek) – kabul edilebilir. Yüksek: 10.0+ ise acil müdahale: topta %CPU en yüksek process’leri sıralayın, ps aux --sort=-%cpu | head -10 ile listeleyin.
Karşılaştırma: Fiziksel sunucuda disk I/O yükü load’u şişirir, SSD’ye geçmek %30 düşüş sağlar. Sanal makinelerde host load’u etkiler, virt-top ile VM’leri inceleyin.
Yüksek load tespit edildiğinde sistematik yaklaşın: Önce top açın, Shift+P ile CPU sıralaması yapın. En tepedeki process’leri inceleyin: Apache ise netstat -an | grep :80 | wc -l ile bağlantı sayısını görün. MySQL ise mysqladmin processlist.
iotop ile disk I/O suçlusunu bulun: Yüksek yazma/okuma process’ini sınırlayın.ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head ile detaylı liste alın.renice 10 PID ile öncelik düşürün veya kill -9 PID ile sonlandırın (dikkatli olun).prometheus + grafana ile dashboard kurun, load average alert’leri tanımlayın.Optimizasyon için kernel parametrelerini ayarlayın: sysctl vm.swappiness=10 ile swap kullanımını azaltın. Uygulama seviyesinde, worker süreçlerini ulimit -u ile sınırlayın. Düzenli bakım ile load average’ı %20-30 düşürebilirsiniz.
Sonuç olarak, load average’ı etkin yorumlamak, Linux sunucunuzun verimliliğini artırır ve kesintileri önler. Düzenli izleme alışkanlığı edinin, logları analiz edin ve proaktif müdahalelerle sisteminizi stabil tutun. Bu yaklaşımla, kurumsal ortamlarınızdaki performans sorunlarını minimum downtime ile çözebilirsiniz.