Работа с ошибкой "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
Вот скриншот: