Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 詹金斯的PermGen空间问题_Java_Maven_Jenkins_Hudson - Fatal编程技术网

Java 詹金斯的PermGen空间问题

Java 詹金斯的PermGen空间问题,java,maven,jenkins,hudson,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 s

我正在构建一个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

2) 在作业配置下,然后在MAVEN_选项中添加以下属性:-

-DXms512m
-DXmx1024m
-DXX:PermSize=512m
-DXX:MaxPermSize=1024m
-DXX:+CMSClassUnloadingEnabled
-DXX:+UseConcMarkSweepGC
但错误仍在发生

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


谢谢。

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

你最近升级了Jenkins Artifactory插件了吗

您可以尝试禁用“捕获和发布生成信息”选项吗

最后一个选项,您可以尝试更新JENKINS_JAVA_选项(在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 project在构建步骤中在节点上部署工件而不是,而是在主节点上部署工件,我怀疑Permgen问题可以通过升级Jenkins core、插件或在Jenkins启动选项中增加Permgen最大大小来解决


ps.Java 8淘汰了Permgen

也许我是盲人,你在什么地方写过,但当我遇到类似的问题时,我已经将Jenkins的JRE版本从7升级到了8。当我使用Jenkins 2.X和Java7时,问题就开始了

致以最良好的祝愿


Max

在centos6上通过rpm或yum或up2date安装jenkins

vim /etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx1024m -XX:MaxPermSize=512m"

感谢Bruno,是的,当构建尝试将工件部署到工件时失败了。我已禁用“捕获和发布生成信息”选项,但它不起作用。是否激活了此选项?-->启用JIRA集成Jenkins启动脚本中是否设置了一些JAVA参数?它可以帮助解决您的问题:)谢谢Bruno,是的,当构建尝试将工件部署到工件时,它会失败。我已禁用“捕获和发布生成信息”选项,但它不起作用。我无法在服务器上找到jenkins配置文件。没有名为jenkins.xml或jenkins.config的文件。它既不在/etc/default/jenkins中也不在/etc/sysconfig/中。这已禁用启用JIRA集成配置文件的路径似乎正确(/etc/default/jenkins用于Ubuntu,/etc/sysconfig/jenkins用于CentOS)。您是与root帐户连接还是与用户(具有sudo权限)连接?