Почему моя Sun JVM не может инициализироваться, если я установил PermGen выше 128M? - PullRequest
2 голосов
/ 18 июня 2009

Мне нужно увеличить свой PermGen. В настоящее время я передаю следующее в качестве параметров командной строки:

-XX:PermSize=128m -XX:MaxPermSize=128m

Это работает. Однако, если я пытаюсь увеличить значения, моя JVM не может инициализироваться, что выдает мне эту ошибку:

[2009-06-18 01:39:44] [info] Error occurred during initialization of VM [2009-06-18 01:39:44] [info] Could not reserve enough space for object heap [2009-06-18 01:39:44] [info] [2009-06-18 01:39:44] [395 javajni.c] [error] CreateJavaVM Failed

В частности, я пытаюсь загрузить Tomcat во включенном JRE6 , но я не думаю, что это должно иметь значение.

Редактировать: Я использую образ виртуальной машины Win2k3 с 2 ГБ ОЗУ. Я загружаю JVM с помощью приложения Monitor Tomcat со следующими параметрами:

Начальный пул памяти: 1024 , максимальный пул памяти: 1536

-XX:PermSize=128m -XX:MaxPermSize=128m -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0 -Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0 -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\endorsed -Djava.io.tmpdir=E:\tomcat\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\logging.properties

Ответы [ 3 ]

4 голосов
/ 18 июня 2009

Попробуйте увеличить кучу с -Xmx512m (это даст 512 МБ)

Какие еще параметры памяти вы используете? Сколько памяти в вашей машине? Вы на 32-битной или 64-битной машине?

2 голосов
/ 19 июня 2009

Perm Gen является добавкой к куче, так что проверьте процессы - вам понадобится 1,5+ ГБ вашего 2G.

1 голос
/ 18 июня 2009

У меня 2 ГБ памяти, и я запускаю Tomcat с настройками -Xmx1024m -XX: PermSize = 512m -XX: MaxPermSize = 512m. Это обычно работает нормально.

...