Как дать Jenkins больше места для кучи, когда он запущен как служба под Windows?

Я хочу увеличить доступное пространство кучи для Дженкинса. Но поскольку он установлен как услуга, я не знаю, как это сделать.

Ответ 1

В вашем каталоге установки Jenkins есть jenkins.xml, где вы можете установить различные параметры. Добавьте параметр -Xmx с размером, который вы хотите использовать в теге arguments (или увеличьте размер, если он уже существует).

Ответ 2

Если вы использовали 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

Вам нужно изменить файл 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 через Управление Jenkins/ Управление плагинами, а затем переход на Управление Jenkins/ Мониторинг Hudson/ Мастер Дженкинса, чтобы использовать мониторинг, чтобы определить, сколько память доступна Дженкинсу.

Если вы получаете ошибку из памяти, когда Дженкинс называет Maven, может потребоваться установить MAVEN_OPTS через Управление Jenkins/ Конфигурировать систему, например. если вы используете версию Java до JDK 1.8 (значения являются предложениями):

-Xmx2048m  -XX:MaxPermSize=512m

Если вы используете JDK 1.8:

-Xmx2048m

Ответ 4

Из вики Jenkins:

Параметры запуска 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

Ответ 5

Я добавил в /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

Ответ 6

Если вы используете шаблоны Jenkins, у вас могут быть дополнительные параметры VM, определенные в нем, и это может противоречить вашим настройкам системы VM

Например, ваш tempalate может иметь такие ссылки, как эти

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

Убедитесь, что эти записи шаблонов совпадают с настройками виртуальной машины вашей системы.