2011-01-28 4 views
11

я получаю следующее сообщение об ошибке "HTTP-9000-5" java.lang.OutOfMemoryError: PermGen пространствоjava.lang.OutOfMemoryError: PermGen пространство

org.apache.catalina.core.ApplicationDispatcher вызова ТЯЖЕЛАЯ : Servlet.service() для сервлета jsp выбрал исключение java.lang.OutOfMemoryError: пространство PermGen.

Мое приложение с помощью axis2.I увеличил размер кучи 1024mb.But его не working.What бы быть problem.Solution пожалуйста

+1

Возможный дубликат [Как бороться с "java.lang.OutOfMemoryError: PermGen space" error] (http://stackoverflow.com/questions/88235/how-to-deal-with-java-lang-outofmemoryerror- permgen-space-error) –

ответ

6

Если вы используете Tomcat как сервер Eclipse, перейдите на страницу «Сервер», затем дважды щелкните «Tomcat», затем «Open Launch Configuration», перейдите на вкладку «Аргументы» и после установки «Dcatalina.base =» «put это

-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m 
16

PermGen и размер кучи отличаются друг от друга.

Вам нужно увеличить PermGen пространство, как это:

-XX:PermSize=256m 
-XX:MaxPermSize=256m 

добавить эти флаги.

Также обратите внимание на это: explaining-java-lang-outofmemoryerror-permgen-space и это: how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error

Надеется, что это помогает.

+0

Эти опции объясняются здесь немного: http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning – amos

15

вам нужно установить что-то в вашем TOMCAT аргумент

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m 
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC" 

Примечание: XX: MaxPermSize = 256m

+5

Не забудьте поставить это в ' setenv' в вашем каталоге tomcat/bin /. Для * nix используйте скрипт 'setenv.sh' с' export JAVA_OPTS = "......" ', а для Windows используйте скрипт' setenv.bat' с 'set JAVA_OPTS = .....'. – Qwerky

+0

Спасибо, он спас мой день. –

2

В дополнение к повышению размера PermGen, попробуйте включить мусоросборник с использованием

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled 
0

Попробуйте увеличить выделение плунжеров для вашей JVM. Это должно помочь.

Fix для затмения: Вы можете настроить это в затмение предпочтение следующим

Windows -> Preferences (на макинтош его: затмение -> Настройки) Java -> Установленные JREs Выберите в JRE, и нажмите Edit в поле типа аргументов VM по умолчанию --Xms256m -Xmx512m -XX: MaxPermSize = 512m -XX: PermSize = 128m. (или ваш приоритет памяти, для 1 ГБ оперативной памяти его 1024) Нажмите на финише или ОК.

Смежные вопросы