Я работаю с tomcat 6.0, и пока я индексирую (не когда я запускаю tomcat), у меня есть ошибка пространства permgen.
Как я мог увеличить это пространство ??
Благодарность
Я работаю с tomcat 6.0, и пока я индексирую (не когда я запускаю tomcat), у меня есть ошибка пространства permgen.
Как я мог увеличить это пространство ??
Благодарность
Ответы:
Ты можешь использовать :
-XX:MaxPermSize=128m
чтобы увеличить пространство. Но обычно это лишь откладывает неизбежное.
Вы также можете включить PermGen для сбора мусора
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Обычно это происходит при большом количестве повторных развертываний. Я удивлен, что в нем используется что-то вроде индексации. Используйте virtualvm или jconsole, чтобы контролировать пространство Perm gen и проверять его выравнивание после прогрева индексации.
Возможно, вам стоит подумать о переходе на другую JVM, например IBM JVM. У него нет постоянного поколения, и он невосприимчив к этой проблеме.
Для 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
export JAVA_OPTS="-XX:MaxPermSize=128m"
работал у меня с Clojure + lein repl
Вы также можете увеличить его с помощью аргументов виртуальной машины в вашей среде IDE. В моем случае я использую Tomcat v7.0, работающий в Eclipse. Для этого дважды щелкните свой сервер (Tomcat v7.0). Щелкните ссылку "Открыть конфигурацию запуска". Перейдите на вкладку «Аргументы». Добавьте -XX: MaxPermSize = 512m в список аргументов виртуальной машины. Нажмите «Применить», а затем «ОК». Перезагрузите ваш сервер.
если вы обнаружили, что настройки памяти не используются, и чтобы изменить настройки памяти, я использовал tomcat7w или tomcat8w в папке \ bin. Затем должно появиться следующее:
Щелкните вкладку Java и добавьте аргументы. Перезапустите tomcat