Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Які наслідки для використання ZGC з мультитерабайтними куками


Які наслідки для використання ZGC з мультитерабайтними куками


Використання ZGC з мультитерабайтними кутами може мати кілька наслідків продуктивності:

1. Низька затримка: ZGC призначений для мінімізації часів паузи, гарантуючи, що програма залишається реагувальною навіть з великими купами. Це досягає цього, виконуючи більшість робіт збору сміття одночасно з додатком, в результаті чого припускають час паузи менше 10 мс [3] [4].

2. Висока пропускна здатність: ZGC призначений для забезпечення високої пропускної здатності, мінімізуючи час, витрачений на збирання сміття. Це гарантує, що програма може продовжувати працювати ефективно навіть під сильним використанням пам'яті [2] [4].

3. Мультиміщення: ZGC використовує багаторазове відображення для відображення різних діапазонів віртуальної пам’яті до однієї фізичної пам’яті. Це може призвести до збільшення використання пам'яті, оскільки операційна система може повідомити про 3 -кратне використання пам'яті через додаткові відображення [1].

4. Кольорові покажчики: ZGC використовує кольорові покажчики для зберігання метаданих у 64-бітних покажчиках. Це може створити додаткову роботу при покажчиках, що визначають, але методика мультиміщення допомагає пом'якшити цю накладну [2].

5. numa-Aware: ZGC призначений для того, щоб бути орієнтованим, а це означає, що він може ефективно обробляти великі купи та кілька ядер процесора. Це гарантує, що колектор сміття може скористатися наявними апаратними ресурсами [2] [4].

6. Параметри налаштування: ZGC має кілька варіантів настройки, таких як встановлення максимального розміру купи та кількість одночасних ниток GC. Ці варіанти можуть допомогти збалансувати використання пам'яті та продуктивність збору сміття [3] [4].

7. Експериментальна функція: ZGC-це експериментальна функція і вимагає конкретних параметрів командного рядка для включення. Він підходить для додатків, які потребують дуже коротких часів паузи і можуть обробляти великі розподіли пам'яті [1] [3].

Підсумовуючи це, використання ZGC з мультитерабайтними кубками може забезпечити низьку затримку, високу пропускну здатність та ефективне управління пам'яттю. Однак це вимагає ретельного настройки і може призвести до збільшення використання пам'яті через багаторазове відображення.

Цитати:
[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/how-choose-best-java-garbage-collector
[5] https://dzone.com/articles/java-z-garbage-collector-zgc-a-deep-dive-with-exam