詹金斯的PermGen Space问题

时间:2016-04-07 07:45:56

标签: java maven jenkins hudson

我正在构建一个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)在 管理Jenkins 下,然后 配置系统 。在 全局属性 部分中,添加了名为MAVEN_OPTS的 环境变量 ,其值设置为-Xmx200m -XX:MaxPermSize=512m < / p>

2)在 作业配置 下, 构建 ,在 MAVEN_OPTS < / em> ,在以下属性中添加: -

-DXms512m
-DXmx1024m
-DXX:PermSize=512m
-DXX:MaxPermSize=1024m
-DXX:+CMSClassUnloadingEnabled
-DXX:+UseConcMarkSweepGC

仍然出现错误。

注意: - 错误不是永久性的,它会在几次构建后消失,但会再次开始出现,然后在几次重试后再次消失。

感谢。

4 个答案:

答案 0 :(得分:2)

也许我错了,但是当Jenkins尝试将构建信息发送到Artifactory时(​​使用后步骤操作),似乎发生了内存错误。

您最近是否升级了Jenkins Artifactory插件?

您可以尝试禁用&#34;捕获和发布构建信息&#34;选项?

enter image description here

最后一个选项,您可以尝试更新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"

答案 1 :(得分:0)

由于Maven项目在节点的构建步骤中部署工件,但在上,我怀疑Permgen问题可以通过以下方式解决升级Jenkins核心,插件或在Jenkins启动选项中增加Permgen max大小。

PS。 Java 8废弃了Permgen。

答案 2 :(得分:0)

也许我是盲目的你已经把它写在某个地方但是当我遇到类似的问题时,我已经将Jenkins本身的JRE版本从7升级到8.问题开始了,当我使用Jenkins 2.X时Java 7。

致以最诚挚的问候,

最高

答案 3 :(得分:0)

在centos6上按rpm或yum安装jenkins

com.fasterxml.jackson.annotation.JsonIgnorecom.fasterxml.jackson.annotation.JsonIgnore