Сборщик мусора OpenJDK Java17 ZGC не будет использовать более 20% выделенной оперативной памятиJAVA

Программисты JAVA общаются здесь
Anonymous
Сборщик мусора OpenJDK Java17 ZGC не будет использовать более 20% выделенной оперативной памяти

Сообщение Anonymous »

У меня есть микросервис с очень высокой пропускной способностью, работающий в AWS в ECS с использованием OpenJDK Java17. Я тестирую переход ZGC с G1GC и замечаю, что ZGC не будет использовать всю выделенную кучу (10 г), а только 20% ее (2 г). Из-за этого процессор загружен на 100%, и, просматривая журналы gc, я вижу много остановок распределения. С G1GC с аналогичными опциями он будет использовать 8g и резко увеличиваться до 10g при большой нагрузке, но не выйдет из строя и восстановится. ZGC в конечном итоге выйдет из строя и закроется.
Вот мои варианты:

Код: Выделить всё

-Xms10g
-Xmx10g
-XX:+UseStringDeduplication
-XX:MaxRAMPercentage=80.0
-XX:+UseZGC
-XX:ParallelGCThreads=32
-XX:ConcGCThreads=16
Если я запустил java -XX:+PrintFlagsFinal, я вижу, что MaxRAMPercentage проигнорировал мои 80%, которые я установил, и использовал значение по умолчанию, и я не смог его изменить.< /p>

Код: Выделить всё

double MaxRAMPercentage                         = 25.000000                                 {product} {default}
Я не могу заставить его использовать более 2G. Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ocated-ram

Вернуться в «JAVA»