GNU/Linux >> Tutoriales Linux >  >> Linux

Jenkins ejecutándose con un uso de CPU muy alto

He notado un par de razones para el uso anormal de la CPU con mi instalación de Jenkins en Windows 7 Ultimate.

  1. Recientemente actualicé de v2.138 a v2.140 y agregué algunos complementos adicionales. Empecé a notar un problema con el ejecutable Java de Jenkins, que ocupaba hasta el 60 % del tiempo de mi CPU cada vez que se activaba un trabajo. Ninguno de los trabajos estaba vinculado a la CPU, solo tomaba datos de servidores externos, por lo que no tenía ningún sentido. Se solucionó con un simple reinicio del servicio Jenkins. Supongo que la actualización simplemente no terminó limpiamente.

  2. Java Garbage Collection arrojaba errores y acaparaba la CPU cuando se ejecutaba con la configuración de memoria predeterminada. Probablemente fue una exageración, pero me volví loco y aumenté el Java Heap Space para Jenkins de los 256 mb predeterminados a 4 gb; que resolvió este problema para mí.

    Consulte esta solución para obtener instrucciones:https://stackoverflow.com/a/8122566/4479786


Al final resultó que, mi problema era que varios trabajos tenían miles de compilaciones antiguas. Esto estaba bien en Jenkins 1.6 pero es un problema en 2.5 (supongo que tal vez Jenkins intente cargar todas las compilaciones en la memoria cuando vea la página de descripción general del trabajo). Para solucionarlo, simplemente eliminé la mayoría de las compilaciones antiguas de los trabajos problemáticos usando esta estrategia y luego recargué jenkins. ¡Funcionó de maravilla!

También configuré el complemento "descartar compilaciones antiguas" para mantener solo las 50 compilaciones más recientes, para evitar que esto vuelva a suceder.


Cada vez que llega una solicitud, Jenkins generará algunos hilos para atender la solicitud. Después de actualizar Jenkins, podría haberse invocado a máxima potencia en ese momento. Por favor, compruebe el uso de la CPU y la memoria del servidor Jenkins en los siguientes escenarios:

  • Jenkins está inactivo y no hay otras aplicaciones ejecutándose en el servidor.
  • Programó una compilación y no hay otras aplicaciones ejecutándose en el servidor.

Y compare los comportamientos que podrían ayudarlo a determinar si Jenkins o ejecutar jenkins en paralelo con otras aplicaciones realmente está causando problemas.

Como dijo @vlp, intente monitorear la aplicación jenkins a través de JVisualVM con la configuración de Jstad para conectarse. Consulte este enlace para configurar JvisualVM con Jstad.


Linux
  1. Cómo encontrar los principales procesos en ejecución por memoria y uso de CPU

  2. ¿Hace que Ubuntu en Macbook Pro tenga un alto uso de CPU?

  3. ¿Obtener el uso de la CPU en el script de Shell?

  4. Cómo obtener el uso de la CPU

  5. Cómo encontrar qué proceso está causando un alto uso de la CPU

Cómo encontrar los 10 principales procesos en ejecución por memoria y uso de CPU

Linux:a pesar de todos los intentos, ¿el ventilador sigue funcionando muy fuerte y rápido?

¿Alto uso de la CPU mientras se reproduce Flash?

Lista detallada del uso de recursos

Cómo encontrar los principales procesos en ejecución por memoria y uso de CPU en Linux

Cómo verificar el uso o la utilización de la CPU de Linux