Jenkinsの利用可能なヒープ領域を増やしたい。しかし、サービスとしてインストールされているため、その方法はわかりません。
Jenkinsのインストールディレクトリにはjenkins.xmlがあり、さまざまなオプションを設定できます。 arguments-tagに必要なサイズのパラメーター-Xmxを追加します(または、既にある場合はサイズを大きくします)。
Aptitude(apt-get)を使用してUbuntu 12.04にJenkinsをインストールした場合、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
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>
Jenkinsの管理/プラグインの管理]を介して Jenkinsモニタープラグイン をインストールすることにより、Jenkinsが使用しているJavaオプションを確認することもできます。その後、Jenkinsの管理/ハドソンの監視/Jenkinsマスターに移動して、監視を使用してJenkinsが使用できるメモリ量を判断します。
JenkinsがMavenを呼び出すときにメモリ不足エラーが発生する場合は、Manage Jenkins/Configure Systemを使用してMAVEN_OPTSを設定する必要がある場合があります。 JDK 1.8より前のJavaのバージョンで実行している場合(値は提案です):
-Xmx2048m -XX:MaxPermSize=512m
JDK 1.8を使用している場合:
-Xmx2048m
/ 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に配置する必要があります
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
Jenkins templatesを使用している場合、追加のVM設定を定義できますが、これはシステムVM設定と競合する可能性があります
たとえば、テンプレートには次のような参照があります
<mavenOpts>-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=1024m -Dmaven.test.failure.ignore=false</mavenOpts>
これらのテンプレートエントリをシステムのVM設定に合わせてください。