Где я могу установить Eden Space?

Краткое описание проблемы:

Размер памяти, отображаемый рядом с PS Eden Space, составляет 639,5 МБ, пока JAVA_OPTS содержит -Xms2558m -Xmx2558m (2.5G) .


Подробности:

После создания файла seten.sh я добавляю следующую строку:

export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms2558m -Xmx2558m -XX:PermSize=2558m -XX:MaxPermSize=2558m -XX:+HeapDumpOnOutOfMemoryError 

Затем я наблюдаю за пользовательским интерфейсом сервера приложений, чтобы убедиться, что это увеличение памяти для чего

Я был удивлен: почему, когда я просматриваю свое приложение, PS Old Gen остается стабильным, а PS Eden Space быстро потребляет память. Тем не менее, размер Memmory отображается около PS Eden Space составляет 639,5 МБ.

Как увеличить PS Eden Space? Какой вариант я должен использовать известно, что мы используем Java8?

Когда я установил -Xms2558m: Слишком ли известно, что мое приложение представляет собой приложение Grails (включает в себя Spring Framework, Spring Security,...)

1 ответ

Решение

Несколько вопросов:

-Xms устанавливает начальное пространство кучи и не имеет ничего общего с пространством Eden. Это то, что JVM выделяет при запуске. Если требуется больше, он выделяет до -Xmx позже, но это относится к общему пространству кучи, а не к одному из пространств генерации GC (они будут частью кучи)

Вы можете настроить соотношение молодого и старого поколения с -XX:NewRatio=, Проверьте документацию для своей JVM, если это Oracle, этого может быть достаточно, другие могут иметь лучшие ссылки. Вы найдете множество учебников и статей по GC по всей сети.

Когда вы читаете их: насколько я понимаю, Янг и Иден часто используются как синонимы.

Постоянное пространство генерации 2.5G звучит как waaaaay слишком большое - и вы должны использовать CATALINA_OPTS для установки конфигурации tomcat, а не JAVA_OPTS.

Другие вопросы по тегам