Работа с ошибкой "java.lang.OutOfMemoryError: PermGen space"

Недавно я столкнулся с этой ошибкой в ​​моем веб-приложении:

java.lang.OutOfMemoryError: пространство PermGen

Это типичное приложение Hibernate/JPA + IceFaces/JSF, работающее на Tomcat 6 и JDK 1.6. По-видимому, это может произойти после повторного развертывания приложения несколько раз.

Что вызывает это и что можно сделать, чтобы этого избежать? Как мне решить проблему?

34 ответа

Вы также можете решить эту проблему, выполнив:

rm -rf <tomcat-dir>/work/* <tomcat-dir>/temp/*

Очистка рабочих и временных каталогов делает Tomcat чистым стартапом.

Для тех, у кого возникает такая же проблема в IntelliJ при попытке отладки приложения JBoss: я только что добавил это -XX: MaxPermSize = 128mк параметрам виртуальной машины в конфигурациях запуска/отладки. Вы можете увеличить его до 256 м, чтобы быть более уверенным, что это сработает.

Увеличение памяти Tomcat

C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin

или везде, где вы использовали tomcat. и беги tomcat9wили любую версию, которую вы использовали.

после этого следуйте картинке

Измените 128 на 1024, а также максимально измените его на 1024 или более, как хотите.

Если кто-то борется с той же ошибкой в ​​NetBeans, то вот как я это исправил.

В Netbeans:

Перейдите на вкладку "Службы" -> "Прямо на сервере" -> "Выбрать свойства" -> "Перейдите на вкладку" Платформа "-> Внутри параметров VM" введите -Xms1024m

В моем случае я дал -Xms4096m

Вот скриншот:

Другие вопросы по тегам