2013-10-24 7 views
3

Я использую tomcat7 и параметры JVM памяти установлены наTomcat JVM памяти настройки

-Xms2048m -Xmx2048m 
-XX:NewSize=256m -XX:MaxNewSize=256m 
-XX:PermSize=256m -XX:MaxPermSize=256m 

с этими настройками сервера не удалось запустить с ошибкой

Error occurred during initialization of VM 
Too small initial heap for new size specified 

Его же даже если я увеличиваю NewSize к 512 или 1024, он работает, только если я удалю параметр NewSize. Размер кучи 2048 МБ, эти допустимые размеры?

ответ

1

Извлеките параметры NewSize, а затем просмотрите размещение YoungGen при запуске приложения. Исходя из размера YoungGen, вы можете вернуться назад и изменить параметры на оптимальное значение.

Использование, например. gc и/или jstat, чтобы увидеть заполнение каждой области в куче.

Кроме того, убедитесь, что ваши параметры правильно проанализированы виртуальной машиной, например. вместо 256 Мбайт JVM YoungGen, возможно, вы хотите 256B.

0

У меня есть 4gb RAM 64 бит. Я тоже получил ту же ошибку, но исправил эту конфигурацию. набор JAVA_OPTS =% JAVA_OPTS% -Xms2560m

set JAVA_OPTS=%JAVA_OPTS% -Xmx2560m 
set JAVA_OPTS=%JAVA_OPTS% -XX:NewSize=1280m 
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxNewSize=1280m 
set JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=400m 
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxPermSize=400m 
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseCompressedOops 
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseParNewGC 
set JAVA_OPTS=%JAVA_OPTS% -XX:+DisableExplicitGC 
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC 
set JAVA_OPTS=%JAVA_OPTS% -XX:SurvivorRatio=6 
set JAVA_OPTS=%JAVA_OPTS% -XX:+CMSClassUnloadingEnabled 
set JAVA_OPTS=%JAVA_OPTS% -Dsun.rmi.dgc.client.gcInterval=3600000 
set JAVA_OPTS=%JAVA_OPTS% -Dsun.rmi.dgc.server.gcInterval=3600000 
Смежные вопросы