[英]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.