Maven构建使用/分配大量内存

时间:2011-02-11 00:12:55

标签: linux memory gwt maven-2 maven

我有一个使用Apache Maven构建的大小合适的GWT(Google Web Toolkit)项目。构建过程涉及产生8个rpms和2个战争。

我正在尝试在远程虚拟服务器上构建项目,将CentOS 5.2作为来宾操作系统运行。由于guest虚拟机操作系统无法使用交换空间,因此我必须为框架分配大量内存才能构建,否则我会得到java could not allocate memory error (error=12)。如果7GB空闲,则构建失败。我怀疑这7GB中的大部分从未使用过,但由于某种原因被分配。

在构建结束时,输出显示为:[INFO] Final Memory: 178M/553M

我将MAVEN_OPTS设置为-Xms256m -Xmx1024M

我不确定如何让maven构建使用更少的内存。任何建议都非常感谢。

2 个答案:

答案 0 :(得分:3)

请注意,像maven gwt插件(和maven surefire)这样的分支插件使用的内存“超出”maven执行报告的总数。我建议使用“jps -lv”的输出来确认操作系统级别的进程大小,以找出哪个fork会窃取你的所有内存。

例如,如果出于某种原因,分叉的过程没有终止,那么它会很快变得非常拥挤。

答案 1 :(得分:2)

该内存表明它只需要最多553M,因此MAVEN_OPTS中的设置已经超出了您的需要。你是说你想要少用它,还是你当前收到错误?