簡體   English   中英

使用優質插件修復Jenkins中的內存不足

[英]Fixing out-of-memory in Jenkins with quality plugins

我所知道的是,昨晚我在使用現有工作安裝和配置高質量插件時,我的Jenkins遇到了麻煩。 最初,工作似乎掛起,然后服務器本身變得無響應。 作業控制台的最后幾行是:

[INFO] Generating "Project Team" report    --- maven-project-info-reports-plugin:2.7
[INFO] Generating "Project Summary" report    --- maven-project-info-reports-plugin:2.7
[INFO] Generating "Dependencies" report    --- maven-project-info-reports-plugin:2.7
[CHECKSTYLE] Parsing file /var/lib/jenkins/jobs/fedsso-dev/workspace/target/checkstyle-result.xml
[CHECKSTYLE] Successfully parsed file /var/lib/jenkins/jobs/fedsso-dev/workspace/target/checkstyle-result.xml of module mdlive-sso with 9924 warnings.
FATAL: PermGen space
FATAL: PermGen space
Finished: null

這時服務器已經無法使用了,我什至無法通過server jenkins stop停止它, server jenkins stop kill -9進程。

看起來有些東西用光了,但是我是讓Jenkins,Maven和插件玩起來不錯的新手。 /etc/default/jenkins文件未指定JVM堆大小,因此我認為它使用的是默認值,我相信它將為256MB,但是top的Jenkins進程運行的虛擬內存超過2GB。 我從https://wiki.jenkins-ci.org/display/JENKINS/Builds+failing+with+OutOfMemoryErrors了解到,我也應該考慮燙發的大小(看起來與“ FATAL:PermGen space”有關)還有Maven任務存儲器。

我正在運行的VM主機已設置有7GB內存,並且該計算機專用於Jenkins,並希望將來安裝SonarQube,因此我有一定的空間來更改內存設置。 有人可以幫我弄清楚一些內存設置,讓Jenkins及其插件高興嗎?

您的jenkins是獨立運行(java -jar jenkins.war)還是將其部署為Web容器?

如果jenkins獨立運行,則只需添加以下參數:

java -XX:MaxPermSize = 512m -Xmx5120M -jar jenkins.war,這會將PermGem增加到512m,將堆增加到5120M,可以根據需要隨意修改值。

但是我想這太簡單了。我想詹金斯正在運行ALS Web容器。 在這種情況下,您必須更改Web服務器的啟動參數。

如果您正在運行Tomcat,則可以將catalina_opts =“ -xms512m -xmx5000m -XX:MaxPermSize = 512m”添加到catalina.bat /或sh(如果運行linux)。

或者,如果通過apt-get jenkins直接安裝,則通過/etc/init.d/jenkins啟動。 查看該文件,然后嘗試查找類似

export CATALINA_OPTS =“-DJENKINS_HOME = $ JENKINS_BASEDIR / jenkins-home -Xmx512m -Djava.awt.headless = true”

並在其中添加參數。 (我不確定文件的外觀如何,所以我無法告訴您確切的行)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM