Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ZGC'yi çok terabayt yığınlarla kullanmanın performans sonuçları nelerdir?


ZGC'yi çok terabayt yığınlarla kullanmanın performans sonuçları nelerdir?


Multi-terabayt yığınlı ZGC kullanmanın birkaç performans etkisi olabilir:

1. Düşük gecikme: ZGC, duraklama sürelerini en aza indirecek şekilde tasarlanmıştır ve uygulamanın büyük yığınlarla bile duyarlı kalmasını sağlar. Bunu, çoğu çöp toplama çalışmasını uygulama ile eşzamanlı olarak gerçekleştirerek elde ederek 10 ms'den daha az duraklama sürelerine neden olur [3] [4].

2. Yüksek verim: ZGC, çöp toplama için harcanan süreyi en aza indirerek yüksek verim sağlamak için tasarlanmıştır. Bu, uygulamanın ağır bellek kullanımı altında bile verimli bir şekilde çalışmaya devam edebilmesini sağlar [2] [4].

3. Çoklu haritalama: ZGC, farklı sanal bellek aralıklarını aynı fiziksel belleğe eşlemek için çoklu haritalama kullanır. İşletim sistemi, ek eşlemeler nedeniyle 3X daha büyük bellek kullanımı rapor edebildiğinden, bu artan bellek kullanımına yol açabilir [1].

4. Renkli işaretçiler: ZGC, meta verileri 64 bit işaretçilerde saklamak için renkli işaretçiler kullanır. Bu, dereflence işaretçileri yaparken ek çalışma oluşturabilir, ancak çoklu haritalama tekniği bu ek yükü azaltmaya yardımcı olur [2].

5. Numa-Aware: ZGC, NUMA-farkında olacak şekilde tasarlanmıştır, bu da büyük yığınları ve birden fazla CPU çekirdeğini etkili bir şekilde işleyebileceği anlamına gelir. Bu, çöp toplayıcının mevcut donanım kaynaklarından yararlanabilmesini sağlar [2] [4].

6. Ayar Seçenekleri: ZGC, maksimum yığın boyutunu ve eşzamanlı GC iş parçacıklarının sayısını ayarlamak gibi çeşitli ayar seçeneğine sahiptir. Bu seçenekler bellek kullanımı ve çöp toplama performansının dengelenmesine yardımcı olabilir [3] [4].

7. Deneysel Özellik: ZGC deneysel bir özelliktir ve etkinleştirmek için belirli komut satırı seçenekleri gerektirir. Çok kısa duraklama süreleri gerektiren ve büyük bellek tahsislerini işleyebilen uygulamalar için uygundur [1] [3].

Özetle, çok terabayt yığınlarla ZGC'nin kullanılması düşük gecikme, yüksek verim ve verimli bellek yönetimi sağlayabilir. Bununla birlikte, dikkatli bir ayar gerektirir ve çoklu haritalamadan dolayı bellek kullanımının artmasına neden olabilir.

Alıntılar:
[1] https://stackoverflow.com/questions/62926652/the-java-zgc-arbage-colector-uses--lot-of
[2] https://www.opsian.com/blog/javas-new-zgc-is-ware-exciting/
[3] https://docs.oracle.com/en/java/javase/11/gctuning/z-arbage-colector1.html
[4] https://decelopers.redhat.com/articles/2021/11/02/how-choose-stest-java-arkage-collector
[5] https://dzone.com/articles/java-z-garbage-colector-zgc-a-dep-dive-with-exam