Увеличить пространство пермгена - PullRequest
87 голосов
/ 09 июня 2010

Я работаю с tomcat 6.0, и пока я индексирую (а не когда запускаю tomcat), у меня возникает ошибка пространства permgen.
Как я мог увеличить это пространство ??

Спасибо

Ответы [ 5 ]

142 голосов
/ 09 июня 2010

Вы можете использовать:

-XX:MaxPermSize=128m

чтобы увеличить пространство. Но это обычно только откладывает неизбежное.

Вы также можете включить сборку PermGen для сбора мусора

-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Обычно это происходит при большом количестве повторных развертываний. Я удивлен, что у вас есть что-то вроде индексации. Используйте virtualvm или jconsole, чтобы отслеживать пространство пермского уровня и проверять его уровни после прогрева индексации.

Может быть, вам стоит подумать о переходе на другую JVM, такую ​​как IBM JVM. У него нет постоянного поколения, и он неуязвим для этой проблемы.

11 голосов
/ 28 мая 2013

Для tomcat вы можете увеличить пространство permGem, используя

 -XX:MaxPermSize=128m

Для этого вам нужно создать (если он еще не существует) файл с именем setenv.sh в папке tomcat / bin и включить следующую строку вэто

   export JAVA_OPTS="-XX:MaxPermSize=128m"

Ссылка: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat

3 голосов
/ 25 сентября 2014

Вы также можете увеличить его с помощью аргументов VM в вашей IDE.В моем случае я использую Tomcat v7.0, который работает на Eclipse.Для этого дважды щелкните по вашему серверу (Tomcat v7.0).Нажмите на ссылку «Открыть конфигурацию запуска».Перейдите на вкладку «Аргументы».Добавьте -XX: MaxPermSize = 512m в список аргументов виртуальной машины.Нажмите «Применить», а затем «ОК».Перезагрузите сервер.

2 голосов
/ 23 февраля 2016

если вы узнали, что настройки памяти не используются, и для изменения настроек памяти я использовал tomcat7w или tomcat8w в папке \ bin. Затем должно появиться следующее:

tomcat monitor

Перейдите на вкладку Java и добавьте arguments.restart tomcat

0 голосов
/ 08 февраля 2017

В Debian-подобных дистрибутивах вы устанавливаете это в /etc/default/tomcat[67]

...