2 Kasım 2021 Salı

Garbage Collector Patterns

Giriş
GC Pattern'ları grafiksel olarak bakınca daha net görülüyor. Bunlar şöyle

1. Healthy saw-tooth pattern - Sağlıklı
2. Heavy caching pattern - Kabul edilebilir

3. Acute memory leak pattern - Düzeltilmeli
4. Consecutive Full GC pattern - Belki Düzeltilebilir
5. Memory Leak Pattern - Düzeltilmeli

1. Healthy saw-tooth pattern
Bu örüntüden CG gerçekleşince, heap kullanımı tekrar eski seviyeye düşer. Testere dişleri gibidir. Şeklen şöyle
Bir diğer şekil de şöyle. Heap bitince hemen hemen tüm bellek boşaltılıyor.


2. Heavy caching pattern - Kabul edilebilir
Burada aslında testere dişleri var gibi görünse de, heap kullanımı en alt seviyeye düşmüyor. Yani uygulama çok fazla şeyi bellekte saklamaya çalışıyor. Şeklen şöyle

3. Acute memory leak pattern - Düzeltilmeli
Heap kullanımı sürekli artar. Şeklen şöyle

Bir diğer şekil de şöyle. Bu örnekte de OOM exception ile uygulama sonlanır.


4. Consecutive Full GC pattern - Belki Düzeltilebilir
Uygulamaya aniden yük binince belli bir süre boyunca ardışık olarak GC döngüsüne girer. Aslında yapacak çok bir şey yok. Yükü dağıtmak denenebilir. Şeklen şöyle

5. Memory Leak Pattern - Düzeltilmeli
Uygulamada bir olay olur ve ondan sonra sızıntı olmaya başlar. Şeklen şöyle


















Hiç yorum yok:

Yorum Gönder