[英]PermGen Space issue in Jenkins
我正在构建一个 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) 在Manage Jenkins 下,然后Configure System 。 在全局属性部分,添加名为 MAVEN_OPTS 的环境变量,其值设置为-Xmx200m -XX:MaxPermSize=512m
2) 在job configuration 下,然后Build ,在MAVEN_OPTS 中,添加以下属性:-
-DXms512m
-DXmx1024m
-DXX:PermSize=512m
-DXX:MaxPermSize=1024m
-DXX:+CMSClassUnloadingEnabled
-DXX:+UseConcMarkSweepGC
仍然发生错误。
注意:-错误不是永久性的,它在几次构建后消失,但再次开始出现,然后在多次重试后再次消失。
谢谢。
也许我错了,但是当 Jenkins 尝试将构建信息发送到 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"
由于 Maven 项目不是在节点上的构建步骤中部署工件,而是在master上部署工件,我怀疑 Permgen 问题可以通过升级 Jenkins 核心、插件或通过增加 Jenkins 启动选项中的 Permgen 最大大小来解决。
附: Java 8 淘汰了 Permgen。
也许我瞎了,你写在某个地方,但是当我遇到类似的问题时,我将 Jenkins 本身的 JRE 版本从 7 升级到 8。当我使用 Jenkins 2.X 和 Java 7 时,问题就开始了。
此致,
最大限度
在 centos6 上通过 rpm 或 yum 安装 jenkins
vim /etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx1024m -XX:MaxPermSize=512m"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.