Как увеличить память, отдаваемую maven-glassfish-plugin?

Я использую плагин Maven для встроенного Glassfish — вот объявление моего плагина:

<plugin>
  <artifactId>maven-glassfish-plugin</artifactId>
  <packaging>maven-plugin</packaging>
  <version>1.0-alpha-4</version>
  <configuration>
    <httpPort>8080</httpPort>
  </configuration>
</plugin>

После нескольких кликов по моему ресурсоемкому веб-приложению у меня закончилось место в PermGen.

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

Я уже настроил MAVEN_OPTS для использования большего объема памяти:

set MAVEN_OPTS=-Xmx1024m

Но похоже, что процесс Java, порожденный mvn glassfish:run, получает только около половины гигабайта памяти, прежде чем он перестает работать.

Есть ли у плагина Glassfish какие-либо параметры конфигурации для увеличения объема памяти?

Спасибо!


person jabbett    schedule 04.06.2010    source источник


Ответы (2)


Просто для ясности. Постоянное пространство генерации содержит загруженные объекты класса и интернированные строки. Он выделяется вне кучи Java, как показано ниже:

альтернативный текст

На последних виртуальных машинах Sun максимальный размер по умолчанию равен 64m (т. е. -XX:MaxPermSize=64m) и подходит для большинства приложений (однако проблема, скорее всего, связана с частым развертыванием/повторным развертыванием). Я бы в любом случае попробовал с -XX:MaxPermSize=128m или -XX:MaxPermSize=256m, 1024m кажется слишком большим!

person Pascal Thivent    schedule 04.06.2010

После дальнейших консультаций с некоторыми коллегами кажется, что я увеличивал неправильное значение памяти в Maven.

Чтобы увеличить пространство PermGen, я добавил это в свой MAVEN_OPTS:

set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=1024m
person jabbett    schedule 04.06.2010
comment
Для пользователей *nix или OSX я использовал export MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=1024m. - person Alex Beardsley; 21.06.2012