Я хочу увеличить доступное пространство кучи для Дженкинса. Но поскольку он установлен как услуга, я не знаю, как это сделать.
Как дать 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>
Убедитесь, что эти записи шаблонов совпадают с настройками виртуальной машины вашей системы.