Linux Memory Pressure İzleme ve Uyarı Scriptleri

0 Yanıtlar 2 Görüntülenme
·
Katılımcılar
Konuyu Açan #0
Linux sistemlerde bellek kullanımı ve bellek baskısı (memory pressure) durumunu doğru şekilde izlemek, performans optimizasyonu ve olası sorunların erken tespiti açısından kritik önem taşır. Bu konuda, bash veya python gibi dillerde yazılmış, otomatik uyarı ve raporlama yapabilen scriptler geliştirmek, sistem yöneticileri ve DevOps ekipleri için oldukça faydalı olabilir.


Bellek baskısı, genellikle sistemin RAM ve swap kullanım oranlarının yüksek seviyelere ulaşmasıyla kendini gösterir. Ancak, bu durumun detaylı analizi ve erken uyarı mekanizmaları kurmak, sistemin kararlı çalışmasını sağlar. İşte bu amaçla kullanılabilecek temel yaklaşımlar ve örnek scriptler:

  • /proc/meminfo kullanımı: Sistem belleği ve swap kullanımı detaylarını almak için en yaygın yol. Örneğin, MemAvailable, MemTotal, SwapFree, SwapTotal gibi alanlar, bellek durumu hakkında temel bilgiler sağlar.


  • vmstat ve free komutları: Bu komutlar, sistem performansını ve bellek kullanımını hızlıca özetler. Örneğin, vmstat -s veya free -m kullanmak, anlık durumu hızlıca görmeyi sağlar.


  • İleri seviye izleme için sysfs ve cgroups: Özellikle konteyner tabanlı altyapılarda, bellek baskısı seviyelerini daha detaylı takip etmek için kullanılabilir.


  • Uyarı ve otomasyon: Scriptler, belirlenen eşik değerleri aşarsa e-posta, Slack veya diğer iletişim araçlarıyla bildirim gönderebilir. Aynı zamanda günlük raporlar da oluşturulabilir.


Örnek basit bash scripti:

KOD
12345678910111213141516171819202122
#!/bin/bash

[b]Eşik değerler[/b]
MEMORY_THRESHOLD=80
SWAP_THRESHOLD=80

[b]Bellek kullanımı[/b]
mem_used_percent=$(awk '/MemAvailable/ { avail=$2 } /MemTotal/ { total=$2 } END { print (1 - avail/total)*100 }' /proc/meminfo)

[b]Swap kullanımı[/b]
swap_used_percent=$(awk '/SwapFree/ { free=$2 } /SwapTotal/ { total=$2 } END { print (1 - free/total)*100 }' /proc/meminfo)

if (( $(echo "$mem_used_percent > $MEMORY_THRESHOLD" | bc -l) )); then
    echo "Uyarı: Bellek kullanımı %$mem_used_percent seviyesinde!"
    # Bildirim komutları buraya
fi

if (( $(echo "$swap_used_percent > $SWAP_THRESHOLD" | bc -l) )); then
    echo "Uyarı: Swap kullanımı %$swap_used_percent seviyesinde!"
    # Bildirim komutları buraya
fi


Bu tarz scriptler, düzenli olarak çalıştırıldığında sistemin bellek durumu hakkında sürekli bilgi sağlar ve kritik seviyelere ulaşmadan önlem alınmasını kolaylaştırır. Ayrıca, bu temel yapıya Python veya diğer dillerde daha gelişmiş analiz ve bildirim özellikleri entegre edilebilir.

Sizce, bu tür otomatik izleme ve uyarı sistemleri, kurumsal veya yüksek erişilebilirlik gerektiren uygulamalarda ne kadar etkili olur? Ayrıca, hangi ek araç veya metodları bu scriptlere entegre ederek daha kapsamlı bir izleme sağlayabiliriz?

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi