Как дать Дженкинсу больше места в куче, когда он запускается как служба под Windows?
Я хочу увеличить доступное пространство кучи для Дженкинса. Но так как он установлен как сервис, я не знаю, как это сделать.
6 ответов
В вашем каталоге установки Jenkins есть файл jenkins.xml, в котором вы можете установить различные параметры. Добавьте параметр -Xmx с нужным вам размером в аргумент-тег (или увеличьте размер, если он уже есть).
Если вы использовали 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
Вам нужно изменить файл 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, установив подключаемый модуль Jenkins monitor через Manage Jenkins / Manage Plugins, а затем перейдя к разделу Managing Jenkins / Monitoring of Hudson / Jenkins master, чтобы использовать monitor для определения объема памяти, доступного для Jenkins.
Если вы получаете сообщение об ошибке нехватки памяти, когда Jenkins вызывает Maven, может потребоваться установить MAVEN_OPTS через Manage Jenkins / Configure System, например, если вы работаете на версии Java до JDK 1.8 (значения являются рекомендациями):
-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
Из вики Дженкинса:
Параметры запуска JVM этих служб Windows контролируются XML-файлами jenkins.xml и jenkins-slave.xml соответственно. Эти файлы можно найти в $JENKINS_HOME и в подчиненном корневом каталоге соответственно после их установки в качестве служб Windows.
Формат файла должен быть понятен. Например, настройте аргументы, чтобы увеличить объем памяти JVM.
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service
Если вы используете шаблоны Jenkins, у вас могут быть определены дополнительные настройки виртуальной машины, и это может конфликтовать с настройками вашей системной виртуальной машины.
Например, ваш шаблон может иметь такие ссылки
<mavenOpts>-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=1024m -Dmaven.test.failure.ignore=false</mavenOpts>
Убедитесь, что выровняли эти записи шаблона с настройками виртуальной машины вашей системы.