Windowsでサービスとして開始したときに、Jenkinsにさらに多くのヒープスペースを与える方法は?


回答:


90

Jenkinsのインストールディレクトリには、さまざまなオプションを設定できるjenkins.xmlがあります。必要なサイズのパラメーター-Xmxをarguments-tagに追加します(すでに存在する場合はサイズを増やします)。



私の質問は、ビルドでメモリが不足している場合、なぜマスターでJavaオプションを設定する必要があるのですか?
yarin

1
すべきではない。しかし、この問題は、メモリ不足のビルドに関するものではなく、メモリ不足のマスターに関するものでした。
dunni 2018年

Ubuntu 16.04.6 LTSの時点では、そのようなファイルはありません。/etc/default/jenkinsスティーブによって下に提供するソリューションは、私の作品です。
InsideClaw

110

Aptitude(apt-get)を使用してJenkinsをUbuntu 12.04にインストールした場合は、次の最初のJAVA_ARGS数行の行のコメントを外し/etc/default/jenkinsます。

# arguments to pass to java
#JAVA_ARGS="-Xmx256m"   # <--default value
JAVA_ARGS="-Xmx2048m"
#JAVA_ARGS="-Djava.net.preferIPv4Stack=true" # make jenkins listen on IPv4 address

3
ウィンドウの場合はどうなりますか?
Dejell

6
質問は特にWindowsについて述べています。
Nick Udell 2014

6
ええ、私がSOで何をしているのかを知る前にこの答えを書きました、そしてそれが非常に多くの賛成を得られたことに驚きました。おそらく、私のように、多くの人が検索エンジンを介してこの質問にたどり着きます。そして、それらの人の大部分がLinuxまたはUnixを使用していますか?分かりません。
スティーブHHH

8
「おそらく、私のように、多くの人が検索エンジンを通じてこの質問にたどり着きます。そして、それらの人の大部分はLinuxまたはUnixを使用していますか?私はそれを理解していません。」それがまさに私がそれを見つけた方法です。
スコット

1
jenkinsサービスの再開を忘れないでくださいsudo service jenkins stop sudo service jenkins start
Camilo Silva

74

jenkins.xmlファイルを変更する必要があります。具体的には、変更する必要があります

   <arguments>-Xrs -Xmx256m 
    -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle 
    -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

    <arguments>-Xrs -Xmx2048m -XX:MaxPermSize=512m 
    -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle 
    -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

また、インストールすることにより、ジェンキンスさんが使用しているJavaオプションを確認することができ、プラグインジェンキンスモニタを介したジェンキンスは、管理 / プラグインを管理し、その後に移動ジェンキンスの管理 / ハドソンのモニタリング / ジェンキンスマスターメモリはジェンキンスに利用できるどのくらいかを決定するために監視を使用します。

JenkinsがMavenを呼び出すときにメモリ不足エラーが発生する場合、Jenkinsの管理 / システムの構成などを介してMAVEN_OPTSを設定する必要がある場合があります(JDK 1.8より前のバージョンのJavaで実行している場合など):

-Xmx2048m  -XX:MaxPermSize=512m

JDK 1.8を使用している場合:

-Xmx2048m

上記のJENKINS_JAVA_OPTIONSを設定しようとすると、「Starting Jenkins Unrecognized option:--XX:MaxPermSize = 512m」
nemoo

2
ハイフンは1つだけです。- -XX:MaxPermSize=512m上記の応答は、このタイプミスを修正するために編集されています。
アダムロファー

1
WindowsでJENKINS_JAVA_OPTIONSを設定する方法はありますか?
ATOzTOA 2013年

Windowsでは、jenkins.361315.n4.nabble.com / … に従って、コントロールパネル->システム->詳細->環境変数
Mark Butler

1
-XX:MaxPermSizeは、Java 8以降では使用されません。stackoverflow.com
questions/12114174/what

24

/ etc / sysconfig / jenkins(CentOS)に追加しました:

# Options to pass to java when running Jenkins.
#
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx1024m -XX:MaxPermSize=512m"

ubuntuの場合、同じ構成が/ etc / defaultにある必要があります


16

Jenkins wikiから:

これらのWindowsサービスのJVM起動パラメーターは、XMLファイルjenkins.xmlおよびjenkins-slave.xmlによってそれぞれ制御されます。これらのファイルは、Windowsサービスとしてインストールした後、それぞれ$ JENKINS_HOMEおよびスレーブルートディレクトリにあります。

ファイル形式は一目瞭然です。たとえば、JVMに大きなメモリを与えるために引数を微調整します。

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service


-1

Jenkinsテンプレートを使用している場合、追加のVM設定が定義されている可能性があり、これはシステムVM設定と競合する可能性があります

あなたのtempalateがこれらのような参照を持っているかもしれない例

 <mavenOpts>-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=1024m -Dmaven.test.failure.ignore=false</mavenOpts> 

これらのテンプレートエントリをシステムのVM設定に合わせてください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.