我开始在这件事上束手无策了。
我让 Jenkins 在 Windows Server 2008 RC 2 机器上的 tomcat 容器中运行。我们这里有一个大型 Grails 项目正在使用一些依赖的内部插件(大约 10 个)。该过程的一部分是运行
grails compile
在项目上(使用 jenkins 中的 Grails 插件,Grails 版本 1.3.7)
这项工作开始得很好,但是在这一步中出现了以下错误:
[groovyc] Compiling 103 source files to D:\jenkins\jobs\my-build-job\workspace\my-application\target\classes
Compilation error: java.lang.OutOfMemoryError: GC overhead limit exceeded
我在 Grails 插件的“参数”表单字段中向这个特定的构建步骤添加参数以及将 java 参数添加到 tomcat servlet 容器(通常互联网推荐的 java 选择这个 GC 开销错误)时,都没有成功。这是 servlet 的 wrapper.conf 的一部分:
wrapper.java.additional.8=-Xmx2048m
wrapper.java.additional.9=-Xss256k
wrapper.java.additional.10=-Xms1024m
wrapper.java.additional.11=-XX:+UseParallelGC
wrapper.java.additional.12=-XX:-UseGCOverheadLimit
wrapper.java.additional.13=-XX:MaxPermSize=256m
有没有人有任何想法/建议?我觉得我已经尝试了一切来为这项工作提供足够的内存(这个盒子有 12 gigs 的 RAM,我的意思是正如你在上面看到的那样,我将堆空间从 256 之类的更小的东西提高了,并且没有 PermGen 调整以使用 2gigs 和256M 的 PermGen!它不应该抱怨资源限制!)
请帮忙!