4 puan yazan computerphilosopher 2025-06-30 | Henüz yorum yok. | WhatsApp'ta paylaş

1. Genel Bakış

  • ZFS dosya sisteminin önbelleğinde (ARC) ortaya çıkan thrashing olgusunun tanımı, teşhisi, müdahale ve önleme yöntemlerinin özeti

2. ZFS ARC thrashing tanımı

  • Kavram: Önbellek isabetlerinin (Hit) art arda başarısız olması nedeniyle sık sık önbellek öğesi değiştirme (Eviction) gerçekleşir ve bunun sonucunda sistem performansı tersine düşer
  • Etkisi: Yüksek performanslı I/O ortamlarında (ör. veritabanı sunucuları) ciddi hizmet kesintilerine yol açabilir

3. Başlıca teşhis belirtileri

  • CPU iowait değerinin %20’nin üzerinde kalıcı olması
  • CPU system mode kullanım oranının normal seviyeye kıyasla artması
  • Önbellek isabet oranının (Hit rate) düşmesi (normal verilerle karşılaştırma gerekir)
  • Temel belirti: arc_prune, arc_evict kernel thread’lerinin CPU kullanımının %90’ın üzerine çıkması thrashing’in kesin göstergesidir

4. Acil müdahale yöntemi

  • İşlem: Linux dosya sistemi önbelleğini manuel olarak temizlemek
  • Komut: echo 3 > /proc/sys/vm/drop_caches
  • Etkisi: Page cache ve slab nesnelerini birlikte temizler
  • Özellikleri:
    • Diske henüz yazılmamış veriler (dirty item) korunur, bu nedenle veri kaybı olmaz (yıkıcı değildir)
    • Çalıştırıldıktan hemen sonra, önbellek yeniden dolana kadar geçici performans düşüşü yaşanır

5. Temel önleme yöntemi

  • Neden: Sistemin iş yüküne kıyasla ayrılan ARC önbellek boyutunun yetersiz olması
  • ARC boyutu (zfs_arc_max):
    • Varsayılan değer zaten sistem belleğinin 1/2’si kadardır (Linux tabanında) ve oldukça büyüktür
    • Diğer uygulamalarla bellek rekabetine yol açabileceği için rastgele artırmak zordur
  • Çözüm yolları:
    • Diğer uygulamaların bellek kullanımı yüksekse, rekabeti önlemek için zfs_arc_max değerini düşürün
    • Temel sorunu çözmek için fiziksel belleği artırmak (scale-up) en kesin yöntemdir

Henüz yorum yok.

Henüz yorum yok.