Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Linux'ta Bellek Baskısı (Memory Pressure) Göstergelerini Anlama ve Swap Kullanımını Yorumlama

asteron

Üye
Katılım
14 Mart 2026
Mesajlar
17
Merhaba arkadaşlar, bugün sizlere sunucu yönetiminde en kritik konulardan biri olan bellek yönetimini, özellikle de "Memory Pressure" (Bellek Baskısı) kavramını ve Swap kullanımını nasıl doğru yorumlayacağımızı anlatacağım. Sunucunuz yavaşladığında ilk bakılan şey genellikle bellektir ama sadece boş bellek (free memory) miktarına bakmak sizi yanıltabilir. Bu rehberle, gerçek bellek baskısını nasıl ölçeceğinizi ve Swap'in ne zaman bir uyarı sinyali olduğunu öğreneceksiniz.

📊 Bellek Baskısı (Memory Pressure) Nedir?

Bellek baskısı, sistemin fiziksel belleği (RAM) tükenmeye başladığında ve daha agresif bellek temizleme mekanizmalarını (cache temizleme, swap-out) devreye sokmak zorunda kaldığı durumu ifade eder. Yüksek bellek baskısı, disk I/O artışına ve dolayısıyla uygulama yanıt sürelerinde ciddi artışa neden olur. Klasik `free -m` komutu bu baskıyı tam olarak göstermez.

🔍 Memory Pressure'ı Ölçme Araçları

İşte benim sunucularda sıklıkla kullandığım, durumu net gösteren araçlar:

1. vmstat: Anlık ve özet istatistikler için mükemmeldir. `si` (swap-in) ve `so` (swap-out) sütunlarına bakın.
Bash:
vmstat 1 5

2. sar: Sistem aktivite raporu ile geçmişe dönük analiz yapabilirsiniz.
Bash:
sar -r 1 5

3. /proc/meminfo: En detaylı bilgi bu dosyadadır. Özellikle `MemAvailable` satırı çok değerlidir.
Bash:
grep -E "MemTotal|MemFree|MemAvailable|SwapCached|SwapTotal|SwapFree" /proc/meminfo

📈 Kritik Göstergeler ve Anlamları

Swap Kullanımı: Swap kullanımı tek başına kötü değildir. Asıl kritik olan, sürekli ve yüksek miktarda Swap-In/Swap-Out aktivitesidir. Bu, sistemin sürekli olarak belleği disk ile takas yaptığını, yani ciddi bir RAM yetersizliği yaşadığını gösterir.
Available Memory (/proc/meminfo): `MemFree`'den daha gerçekçidir. Buffers ve Cache'den ihtiyaç halinde kullanılabilecek bellek miktarını da hesaba katar. Bu değer çok düşükse (örn: toplam RAM'in %5'inden az) baskı var demektir.
Page Faults (vmstat'te 'pf'): Özellikle major faults, diskten sayfa okumak gerektiğinde oluşur ve yüksek performans düşüşünün işaretidir.

⚠️ Alarm Durumları ve Çözüm Önerileri

Şu durumlarda acil müdahale gerekir:

1. Sürekli yüksek `si` (swap-in) ve `so` (swap-out) değerleri.
2. `MemAvailable` değerinin sürekli sıfıra yakın olması.
3. Disk I/O (`wa` değeri vmstat'te) ve CPU sistem zamanı (`sy`) yüksekliği ile birlikte görülen yüksek sayfa hataları.

Hemen yapılacaklar:
`top` veya `htop` ile bellek tüketen süreçleri bulun.
Gereksiz servisleri kapatın.
Uygulama bellek limitlerini (Java heap, PHP-FPM pm.max_children gibi) gözden geçirin.
Kısa vadede Swap alanını geçici olarak artırmak bir çözüm olabilir (ama asıl sorunu çözmez):
Bash:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

💎 Özet ve En İyi Pratikler

Bellek yönetiminde sadece "ne kadar swap kullanılıyor"a değil, baskının sürekliliğine ve yoğunluğuna bakın. `vmstat` ile `si/so` aktivitesini, `/proc/meminfo` ile `MemAvailable` değerini takip edin. Proaktif izleme için bu metrikleri bir monitoring aracına (Prometheus, NetData) bağlamanızı şiddetle tavsiye ederim.

Umarım bu rehber faydalı olmuştur. Siz bellek baskısı ve swap kullanımını izlerken hangi araçları ve metrikleri kullanıyorsunuz? Benim atladığım önemli bir nokta var mı? Tecrübelerinizi ve sorularınızı aşağıya yazmaktan çekinmeyin. Sağlıcakla kalın.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri