jenkins 编译grails项目的时候 GC overhead limit exceeded

发布于 2022-09-01 18:22:51 字数 1552 浏览 14 评论 0

在 windowns 7 下 使用Jenkins(1.626) 部署grails(1.3.9) 项目的时候报如下错误:
[workspace] $ cmd.exe /C '"D:\grails\grails-1.3.9\bin\grails.bat -Dgrails.work.dir=/D:/Jenkins/jobs/yp_dev/workspace//target -Dgrails.env=development war ROOT.war --non-interactive --plain-output && exit %%ERRORLEVEL%%"'
Welcome to Grails 1.3.9 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: D:\grails\grails-1.3.9

Base Directory: D:\Jenkins\jobs\yp_dev\workspace
Resolving dependencies...
Dependencies resolved in 1227ms.
Running script D:\grails\grails-1.3.9\scripts\War.groovy
Environment set to development
Setting non-interactive mode
[groovyc] Compiling 1 source file to D:\Jenkins\jobs\yp_dev\workspace\target\projects\workspace\plugin-classes
[groovyc] Compiling 1089 source files to D:\Jenkins\jobs\yp_dev\workspace\target\classes
Compilation error: java.lang.OutOfMemoryError: GC overhead limit exceeded
Build step 'Build With Grails' marked build as failure
Finished: FAILURE

补充说明:JDK 1.7
本人试着在 jenkins 的安装目录中修改 jenkins.xml 中的参数,如下:
<arguments> -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -Xms1g -Xmx1g -XX:PermSize=1g -XX:MaxPermSize=1g -Djsse.enableSNIExtension=false -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

1、上述报错问题依旧存在。
2、同时在修改上述参数时候,发现一个奇怪的问题,当 -Xmx1g 的值超过 1500m的时候,则jenkins 的服务无法启动。
请各位不吝赐教...谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瑾兮 2022-09-08 18:22:51

第一个问题 “上述报错问题依旧存在”的解答:

应该内存的问题。需要加大内存。这个地方牵涉到两个内存。一个是jenkins使用的内存。另外一个是grails 构建使用的内存。
据我了解,grails war 这样的命令会启动一个进程来处理。看你的报错应该是grails这个进程,内存不足。想办法加大grails的内存就可以。看看grails项目中的那个 BuildConfig.groovy文件。

第二个问题 “同时在修改上述参数时候………”的解答:
当你配置的内存,大于你的物理可用内存的时候,对不起。java进程就无法启动了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文