6

Usamos Hudson como un sistema de integración continua para ejecutar compilaciones automáticas (todas las noches y basadas en el sondeo CVS) de muchos de nuestros proyectos.¿Cómo solucionas el problema "Demasiados archivos abiertos" en Hudson?

Algunos proyectos sondean CVS cada 15 minutos, otros encuestan cada 5 minutos y algunos sondean cada hora.

Cada pocas semanas vamos a tener una acumulación que se produce el siguiente resultado:

FATAL: java.io.IOException: Too many open files 
java.io.IOException: java.io.IOException: Too many open files 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) 

La próxima construcción siempre ha trabajado (con 0 cambios) por lo que siempre lo atribuyó a 2 puestos de trabajo de construcción que se está ejecutando en el Al mismo tiempo y pasando a tener demasiados archivos abiertos durante el proceso.

Este fin de semana tuvimos un error de compilación el viernes por la noche (construcción nocturna automática) con el mensaje y todas las demás construcciones nocturnas también fallaron. De alguna manera, esto provocó que Hudson construyera continuamente todos los proyectos que fallaron hasta que se resolvió el problema. Esto resultó en una creación cada 30 minutos más o menos de cada proyecto hasta algún momento del sábado por la noche cuando el problema desapareció mágicamente.

Respuesta

4

Este es el problema Hudson 715 (http://issues.hudson-ci.org/browse/HUDSON-715). La recomendación actual es establecer el "número máximo de hilos de sondeo simultáneos" para mantener baja la actividad de sondeo.

+0

Enlace roto para el problema 715. ¿Se puede actualizar? –

0

¿Cambiar los límites del sistema para los descriptores de archivos abiertos máximos por proceso? Como en ulimit -n para el proceso de Java?

0

He tenido este problema con otra aplicación Java que se ejecuta en Debian, desapareció cuando degradamos a Java versión 1.6.0.0. Java nunca cerró las conexiones no utilizadas, lo que provocó que lanzara la excepción.

3

Consulte https://wiki.jenkins-ci.org/display/JENKINS/I%27m+getting+too+many+open+files+error por lo que necesitamos de usted para solucionar este tipo de problema.

+0

No hemos tenido el problema en bastante tiempo. Si vuelve a surgir, me aseguraré de enviarle la información solicitada. – Randyaa

+0

Kohsuke: ¿tal vez una mejora de Jenkins podría ser vigilar los límites de los descriptores de archivos y la auto reparación ejecutando el GC? Nos estamos ejecutando en cajas con grandes tamaños de memoria (que pronto estarán en el rango 96G), por lo que puede funcionar durante un tiempo antes de intentar GC. –

+0

¡Eso suena como un gran truco! ¿Dónde está el RFE en http://issues.jenkins-ci.org/? :-) –

0

Uno de los problemas más comunes que causa "Demasiados archivos abiertos" es tener el complemento de Active Directory habilitado y configurado en Jenkins. Existen problemas conocidos con este complemento que provocan una enorme cantidad de subprocesos y errores de "Demasiados archivos abiertos" también en los registros. Después de deshabilitarlo y cambiar a autenticación LDAP, ya no experimenté a Jenkins para colgar.

Cuestiones relacionadas