Java.lang.OutOfMemoryError: пространство PermGen
Я получаю следующую ошибку
"http-9000-5" java.lang.OutOfMemoryError: пространство PermGen
org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() для сервлета jsp исключение
java.lang.OutOfMemoryError: пространство PermGen.
Мое приложение с использованием axis2.I увеличило размер кучи 1024mb.But его не работает. Какова будет проблема. Решение пожалуйста
Ответы
Ответ 1
Если вы используете Tomcat в качестве сервера Eclipse, перейдите в раздел "Вид сервера", затем дважды щелкните "Tomcat", затем "Open Launch Configuration", перейдите на вкладку "Аргументы" и после установки "Dcatalina.base =" "поместите это
-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m
Ответ 2
PermGen и размер кучи отличаются друг от друга.
Вам нужно увеличить пространство пергмена следующим образом:
-XX:PermSize=256m
-XX:MaxPermSize=256m
добавьте эти флаги.
Также посмотрите на это: explaining-java-lang-outofmemoryerror-permgen-space и это: how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error
Надеюсь, что это поможет.
Ответ 3
вам нужно установить что-то в аргументе 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
Ответ 4
В дополнение к увеличению размера PermGen попробуйте включить сборку мусора с помощью
-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
Ответ 5
Попробуйте увеличить выделение плунжера для вашей JVM. Это должно помочь.
Исправить для eclipse: вы можете настроить это в предпочтении eclipse следующим образом
Windows → Настройки (по настройкам mac its: eclipse → )
Java → Установленные JRE
Выберите JRE и нажмите "Изменить".
в поле типа аргументов VM по умолчанию --Xms256m -Xmx512m -XX: MaxPermSize = 512m -XX: PermSize = 128m. (или ваш приоритет памяти, для 1 ГБ RAM его 1024)
Нажмите "ОК" или "ОК".