Почему моя Sun JVM не может инициализироваться, если я установил PermGen выше 128M?

StackOverflow https://stackoverflow.com/questions/1010986

  •  06-07-2019
  •  | 
  •  

Вопрос

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

<код> -XX: PermSize = 128m -XX: MaxPermSize = 128m

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

[2009-06-18 01:39:44] [info] Произошла ошибка при инициализации ВМ [2009-06-18 01:39:44] [info] Не удалось зарезервировать достаточно места для кучи объектов [2009-06-18 01:39:44] [info] [2009-06-18 01:39:44] [395 javajni.c] [ошибка] Ошибка CreateJavaVM

В частности, я пытаюсь загрузить 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 \ одобрен -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

Это было полезно?

Решение

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top