如何增加maven-glassfish-plugin的内存?

jab*_*ett 2 maven-2 glassfish permgen glassfish-3

我正在使用嵌入式Glassfish的Maven插件 - 这是我的插件声明:

<plugin>
  <artifactId>maven-glassfish-plugin</artifactId>
  <packaging>maven-plugin</packaging>
  <version>1.0-alpha-4</version>
  <configuration>
    <httpPort>8080</httpPort>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

通过我的数据密集型Web应用程序几次点击后,我的PermGen空间用完了.

java.lang.OutOfMemoryError:PermGen空间

我已经配置了MAVEN_OPTS以使用更多内存:

set MAVEN_OPTS=-Xmx1024m
Run Code Online (Sandbox Code Playgroud)

但看起来产生的Java进程mvn glassfish:run在占用之前只能获得大约半GB的内存.

Glassfish插件是否具有任何用于增加其内存的配置设置?

谢谢!

Pas*_*ent 10

只是为了澄清.永久生成空间包含加载的类对象和实习字符串.它在Java堆之外分配,如下所示:

替代文字

在最近的太阳虚拟机,默认最大大小为64m(即-XX:MaxPermSize=64m),并足以满足大多数应用程序(这个问题很可能与频繁的取消部署/重新部署在这里虽然).无论如何我会尝试-XX:MaxPermSize=128m或者-XX:MaxPermSize=256m,1024m似乎真的超大!


jab*_*ett 5

在与一些同事进一步协商之后,我似乎在Maven中增加了错误的记忆价值.

为了增加PermGen空间,我将其添加到我的MAVEN_OPTS:

set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=1024m
Run Code Online (Sandbox Code Playgroud)