2010-06-04 3 views
2

Я использую плагин Maven для встраиваемых Glassfish - вот мой плагин декларации:Как увеличить память для maven-glassfish-plugin?

<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 какие-либо настройки конфигурации для повышения его памяти?

Спасибо!

ответ

5

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

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

set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=1024m 
+1

Для тех, кто на * nix или OSX, я использовал экспорт MAVEN_OPTS = "- Xmx1024m -XX: MaxPermSize = 1024m" –

10

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

alt text

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

+0

+1 для отличной диаграммы. – Abhilash