我正在构建一个Maven项目,因为过去1.5年的构建工作正常,但是现在我遇到了PermGen空间错误。
[ERROR] Internal error: java.lang.RuntimeException: org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded() listener has failed: java.io.IOException: Remote call on channel failed: PermGen space -> [Help 1]
[ERROR] org.jfrog.build.extractor.maven.BuildInfoRecorder.sessionEnded() listener has failed:
java.lang.OutOfMemoryError: PermGen space
为了解决这个问题,我尝试了以下选项:-
1)在管理詹金斯下,然后配置系统。在“全局属性”部分中,添加了名为MAVEN_OPTS的环境变量,其值设置为
-Xmx200m -XX:MaxPermSize=512m
2)在作业配置下,然后在MAVEN_OPTS的Build中添加以下属性:
-DXms512m
-DXmx1024m
-DXX:PermSize=512m
-DXX:MaxPermSize=1024m
-DXX:+CMSClassUnloadingEnabled
-DXX:+UseConcMarkSweepGC
仍然发生错误。
注意:-错误不是永久性的,经过几次构建后它消失了,但是再次开始出现,然后在重试几次后又消失了。
谢谢。
最佳答案
也许我是错的,但是当詹金斯尝试将构建信息发送到Artifactory时(使用后期操作),您的内存错误似乎发生了。
您最近是否升级了Jenkins Artifactory插件?
您可以尝试禁用“捕获并发布构建信息”选项吗?
最后一个选择是,您可以尝试更新JENKINS_JAVA_OPTIONS(在jenkins服务配置文件中)以增加MaxPermSize吗?
## Type: string
## Default: "-Djava.awt.headless=true"
## ServiceRestart: jenkins
#
# Options to pass to java when running Jenkins.
#
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xms2G -Xmx4G -XX:MaxPermSize=256m"