Как мне увеличить объем памяти, предоставляемый maven-glassfish-plugin? - PullRequest
2 голосов
/ 04 июня 2010

Я использую плагин 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 space

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

set MAVEN_OPTS=-Xmx1024m

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

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

Спасибо!

Ответы [ 2 ]

10 голосов
/ 04 июня 2010

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

alt text

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

5 голосов
/ 04 июня 2010

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

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

set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=1024m
...