2010-06-04 86 views
2

我使用Maven插件嵌入式Glassfish的 - 這是我的插件聲明:如何增加給Maven的GlassFish的-插件內存?

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

經過多次通過點擊我的數據密集型web應用程序,我用完PermGen的空間。

java.lang.OutOfMemoryError: PermGen space

我已經配置MAVEN_OPTS使用更多的內存:

set MAVEN_OPTS=-Xmx1024m 

但它看起來像由mvn glassfish:run催生了Java進程只獲得一半左右的內存技嘉它抓住之前。

是否Glassfish的插件對正在增加其內存中的任何配置設置?

謝謝!

回答

5

和一些同事進一步磋商之後,似乎我是在不斷增加的Maven錯誤的內存值。

要增加PermGen的空間,我已將此添加到我的MAVEN_OPTS:

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

對於那些在Unix或者OSX,我用出口MAVEN_OPTS =「 - Xmx1024m -XX:MaxPermSize參數=1024米」 – 2012-06-21 17:14:35

10

只是爲了澄清。永久生成空間包含加載的類對象和實際的字符串。如下圖所示它被分配外Java堆的

alt text

在最近的太陽虛擬機,默認最大大小爲64m(即-XX:MaxPermSize=64m),並足以滿足大多數應用(這個問題很可能有關頻繁撤銷/重新部署在這裏雖然)。我想反正有-XX:MaxPermSize=128m-XX:MaxPermSize=256m嘗試,1024m似乎真的超大!

+0

1的出色圖。 – Abhilash 2012-05-22 09:29:26