Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jaké jsou důsledky výkonu používání ZGC s multi-terabajtovými hromadami


Jaké jsou důsledky výkonu používání ZGC s multi-terabajtovými hromadami


Použití ZGC s multi-terabajtovými hromadami může mít několik důsledků výkonu:

1. Nízká latence: ZGC je navržena tak, aby minimalizovala doby pauzy, což zajišťuje, že aplikace zůstává reagována i při velkých hromadách. Toho dosahuje tím, že provádí většinu práce sběru odpadu souběžně s aplikací, což má za následek doba pauzy menší než 10 ms [3] [4].

2. Vysoká propustnost: ZGC je navržena tak, aby poskytovala vysokou propustnost tím, že minimalizuje čas strávený na sběru odpadu. Tím je zajištěno, že aplikace může pokračovat efektivně i při využití těžké paměti [2] [4].

3. Multi-mapování: ZGC používá více mapování k mapování různých rozsahů virtuální paměti do stejné fyzické paměti. To může vést ke zvýšenému využití paměti, protože operační systém může vykazovat 3x větší využití paměti kvůli dalším mapováním [1].

4. barevné ukazatele: ZGC používá barevné ukazatele k ukládání metadat v 64bitových ukazatelích. To může vytvořit další práci při dereferencování ukazatelů, ale technika multi-mapování pomáhá zmírnit tuto režii [2].

5. NUMA-Aware: ZGC je navržen tak, aby byl UMA-About, což znamená, že dokáže efektivně zvládnout velké hromady a více jádra CPU. Tím je zajištěno, že sběratel odpadu může využít dostupné hardwarové zdroje [2] [4].

6. Možnosti ladění: ZGC má několik možností ladění, jako je nastavení maximální velikosti haldy a počet souběžných vláken GC. Tyto možnosti mohou pomoci vyvážit využití paměti a výkon sběru odpadu [3] [4].

7. Experimentální funkce: ZGC je experimentální funkce a vyžaduje konkrétní možnosti příkazového řádku. Je vhodný pro aplikace, které vyžadují velmi krátké doby pauzy a zvládnou alokace velké paměti [1] [3].

Stručně řečeno, použití ZGC s multi-terabajtovými hromadami může poskytnout nízkou latenci, vysokou propustnost a efektivní správu paměti. Vyžaduje však pečlivé ladění a může vést ke zvýšenému využití paměti v důsledku multi-mapování.

Citace:
[1] https://stackoverflow.com/questions/62926652/the-java-zgc-garbage-collector-uses-a-lot-of-memory
[2] https://www.opsian.com/blog/javas-new-zgc-is-very-exciting/
[3] https://docs.oracle.com/en/java/javase/11/gctuning/z-garbage-collector1.html
[4] https://developers.redhat.com/articles/2021/11/02/hoose-choose-best-java-garbage-collector
[5] https://dzone.com/articles/java-z-garbage-collector-Zgc-a-deep-dive-with-exam