Могу ли я запустить JVM с таким большим пространством Eden, которое будет работать до конца без какого-либо GC. Предполагая, что у меня есть куча свободной памяти - PullRequest
0 голосов
/ 04 сентября 2018

Если у меня есть много свободной памяти, могу ли я запустить приложение Java (говорит mMven) для запуска с использованием только пространства Eden до завершения без какого-либо GC?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Да, я сделал это для реальных приложений в Java 6+. Я начал с пространства Eden на 24 ГБ, крошечного выжившего и арендованного пространства. Позже я обнаружил, что 8 ГБ было более чем достаточно.

Это все равно будет GC, когда была ошибка или ошибка, но не при нормальной работе.

Я считаю, что варианты были

-Xmn24g -Xmx26g -XX: коэффициент выживаемости = 100

С GC по умолчанию.

Приложение было оптимизировано для производства менее 1 ГБ / час, поэтому работайте в течение дня с ГХ.

0 голосов
/ 04 сентября 2018

Да, но не в Java 8. Java 11 будет включать в себя Epsilon GC ( JEP 318 ), который ничего не делает для освобождения памяти. С любым другим GC и с достаточно большой кучей нет необходимости запускать сборку мусора StopTheWorld, но не гарантируется, что это не произойдет.

...