¿Cómo dar a Jenkins más espacio de almacenamiento cuando se inicia como un servicio en Windows?


Respuestas:


90

En su directorio de instalación de Jenkins hay un jenkins.xml, donde puede configurar varias opciones. Agregue el parámetro -Xmx con el tamaño que desee a la etiqueta de argumentos (o aumente el tamaño si ya está allí).



mi pregunta es: si las compilaciones se están quedando sin memoria, ¿por qué deberíamos configurar las opciones de Java en el maestro?
yarin

1
No deberías. Pero esta pregunta no se trataba de que las compilaciones se quedaran sin memoria, se trataba de que el maestro se quedara sin memoria.
Dunni

A partir de Ubuntu 16.04.6 LTS, no existe tal archivo. La /etc/default/jenkinssolución que Steve ofrece a continuación es la que me funciona.
insideClaw

110

Si usó Aptitude (apt-get) para instalar Jenkins en Ubuntu 12.04, descomente la JAVA_ARGSlínea en las primeras líneas de /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
¿y si son ventanas?
Dejell

6
La pregunta indica específicamente Windows.
Nick Udell

6
Sí, escribí esta respuesta antes de saber lo que estaba haciendo en SO, y me sorprende que haya recibido tantos votos a favor. ¿Quizás, como yo, mucha gente encuentra el camino a esta pregunta a través de un motor de búsqueda, y un porcentaje mayor de esa gente está usando Linux o Unix? No lo entiendo.
Steve HHH

8
"Tal vez, como yo, mucha gente encuentra el camino a esta pregunta a través de un motor de búsqueda, ¿y un porcentaje mayor de esa gente usa Linux o Unix? No lo entiendo". Así es exactamente como lo encontré.
Scott

1
No olvide reiniciar el servicio de jenkinssudo service jenkins stop sudo service jenkins start
Camilo Silva

74

Necesita modificar el archivo jenkins.xml . Específicamente necesitas cambiar

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

a

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

También puede verificar las opciones de Java que Jenkins está usando instalando el complemento de monitor de Jenkins a través de Administrar Jenkins / Administrar complementos y luego navegando a Administración de Jenkins / Monitoreo del maestro de Hudson / Jenkins para usar el monitoreo y determinar cuánta memoria está disponible para Jenkins.

Si obtiene un error de falta de memoria cuando Jenkins llama a Maven, puede ser necesario configurar MAVEN_OPTS a través de Manage Jenkins / Configure System, por ejemplo, si está ejecutando una versión de Java anterior a JDK 1.8 (los valores son sugerencias):

-Xmx2048m  -XX:MaxPermSize=512m

Si está utilizando JDK 1.8:

-Xmx2048m

cuando intento configurar JENKINS_JAVA_OPTIONS como se describe anteriormente, obtengo: "Iniciando la opción Jenkins no reconocida: --XX: MaxPermSize = 512m"
nemoo

2
Solo debe haber un guión: -XX:MaxPermSize=512m- la respuesta anterior se ha editado para corregir este error tipográfico.
Adam Rofer

1
¿Alguna idea de cómo configurar JENKINS_JAVA_OPTIONS en Windows?
ATOzTOA

En Windows, de acuerdo con jenkins.361315.n4.nabble.com/… , usa Panel de control -> Sistema -> Avanzado -> Variables de entorno
Mark Butler

1
-XX:MaxPermSizeya no se usa con Java 8 o superior stackoverflow.com/questions/12114174/what-does-xxmaxpermsize-do
Micha Wiedenmann

24

Agregué a / etc / sysconfig / jenkins (CentOS):

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

Para ubuntu, la misma configuración debe estar ubicada en / etc / default


16

De la wiki de Jenkins:

Los parámetros de lanzamiento de JVM de estos servicios de Windows están controlados por un archivo XML jenkins.xml y jenkins-slave.xml respectivamente. Estos archivos se pueden encontrar en $ JENKINS_HOME y en el directorio raíz esclavo respectivamente, después de haberlos instalado como servicios de Windows.

El formato de archivo debe ser autoexplicativo. Modifique los argumentos, por ejemplo, para darle a JVM una memoria más grande.

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


-1

Si está utilizando plantillas de Jenkins , podría tener definidas configuraciones de VM adicionales y esto podría entrar en conflicto con la configuración de VM de su sistema

ejemplo, su plantilla puede tener referencias como estas

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

Asegúrese de alinear estas entradas de plantilla con la configuración de VM de su sistema

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.