Приложение Tomcat 7 Spring IntelliJ IDEA 10.5 OutOfMemoryError: пространство PermGen

Не уверен, кто несет ответственность за эту ошибку:

Exception in thread "main" java.lang.OutOfMemoryError: PermGen space

Эта ошибка возникает, когда я пытаюсь запустить свое весеннее веб-приложение в режиме отладки из IntelliJ IDEA 10.5 (мой проект - это проект формата maven).

При запуске того же приложения с автономного веб-сервера Tomcat 7 (поместите войну в папку webapps) оно работает нормально. Также из mvn clean install t7:run-forked приложение тоже работает нормально.

Мое приложение представляет собой приложение Spring JPA, использующее Hibernate в качестве провайдера JPA, c3p0 используется для пула соединений (переключился на него сbonecp, думал, что причиной этой ошибки былbonecp, но он все еще воспроизводится и с c3p0), используется Spring TomcatInstrumentationLoading для поддержки JPA на Tomcat.

Моя ОС Дебиан, Линукс.


person Aliaksandr Kazlou    schedule 30.12.2011    source источник


Ответы (2)


Этого должно быть достаточно, чтобы заставить его работать:

-XX:MaxPermSize=256m

Поле Параметры виртуальной машины задается в Tomcat. Запустить/отладить конфигурацию, чтобы

-XX:MaxPermSize=256m

person CrazyCoder    schedule 30.12.2011
comment
Прохладно!! Это решило проблему для меня. Большое спасибо. Моя проблема возникла при запуске модульных тестов, но я смог применить ту же концепцию к своей конфигурации запуска модульного теста. - person Dan Torrey; 16.05.2014

Установите аргументы виртуальной машины, чтобы выделить больше места для вашей программы.

нравится

-Xms128m -Xmx8192m -XX:PermSize=128m -XX:MaxPermSize=256m 
person Bala    schedule 30.12.2011
comment
Вы должны объяснить эти аргументы. Первые два не имеют ничего общего с пространством permgen, а 8 ГБ — это намного больше, чем могут поддерживать обычные машины разработчиков. - person JB Nizet; 30.12.2011