¿Cómo verificar la memoria libre del ejecutor de compilación de Jenkins?

13

En Jenkins, al hacer clic en Build Executor Status , solo puedo ver estadísticas relacionadas con el espacio libre en el disco (URI:) /computer. ¿Cómo puedo monitorear la memoria libre del sistema (RAM) en Jenkins?

Pregunto, porque a veces cuando tenía demasiados ejecutores (a pesar de tener configurado el espacio de intercambio, pero no el que se muestra a continuación), Jenkins se congelaba o se bloqueaba mucho.

Jenkins en / computadora - Nombre, Arquitectura, Diferencia de reloj, Espacio libre en disco, Espacio libre de intercambio, Espacio temporal libre, Tiempo de respuesta

kenorb
fuente
55
Puede encontrar útil el complemento de monitoreo: wiki.jenkins-ci.org/display/JENKINS/Monitoring
Assaf Lavie el
2
Nota al margen: el intercambio pesado hará que incluso los servidores más potentes se rastreen, ralentizando todos los procesos, incluidos los ejecutores de Jenkins y las soluciones de monitoreo local. Para empeorar las cosas: los recolectores de basura de memoria también funcionarán lentamente, alimentando aún más la condición. Para un rendimiento decente, aconsejaría que el tamaño de intercambio sea pequeño, confiando principalmente en el tamaño real de RAM cuando se comparte el mismo servidor para múltiples ejecutores y se evita una gran suscripción excesiva.
Dan Cornilescu

Respuestas:

8

Echa un vistazo al complemento de Monitoreo . Aquí hay más detalles al respecto (de la página vinculada):

  • Gráficos de memoria, CPU, promedio de carga del sistema, tiempos de respuesta http por día, semana, mes, año o período personalizado
  • Estadísticas de solicitudes http con tiempos de respuesta promedio, tiempos de CPU medios, tamaño de respuesta promedio por solicitud y por día, semana, mes, año o período personalizado
  • Errores y registros
  • Solicitudes http actuales
  • Hilos
  • Histograma de pila (instancias y tamaños por clase)
  • Sesiones http
  • Lista de procesos del sistema operativo
  • MBeans
  • Acciones para GC, volcado de almacenamiento dinámico e invalidar sesión (s)
  • Informe en html o pdf
  • En inglés, alemán, francés, portugués o chino.
  • Seguridad de Jenkins
  • Para los nodos de Jenkins (esclavos en general):
    • El informe para los nodos está disponible en http://yourhost/monitoring/nodes
    • Gráficos agregados para todos los nodos de memoria, CPU, promedio de carga del sistema, número de compilaciones en ejecución, longitud de la cola de compilación, tiempos de compilación por período
    • Estadísticas detalladas de los tiempos de compilación y de los pasos de compilación por período
    • Subprocesos, lista de procesos y MBeans para cada nodo
    • Hetograma de montón agregado para todos los nodos
  • Para cada nodo individual (cada nodo en http://yourhost/computer), los informes y las acciones están disponibles en la página "Monitoreo" en el menú contextual o en los detalles del nodo:
    • Subprocesos, lista de procesos, MBeans de ese nodo solamente
    • Apile el histograma de ese nodo
    • Acciones para GC, volcado de almacenamiento dinámico
  • Y más...

Créditos: Assaf Lavie (quien lo mencionó por primera vez en un comentario, pero por alguna razón no publicó eso como una respuesta real ...).

Pierre.Vriens
fuente
5

En cuanto a la solución, la memoria real se puede verificar invocando los comandos de Groovy directamente en la consola de script (at /computer/(master)/script). Comando de ejemplo:

println "free -m".execute().text
kenorb
fuente
2
Comando alternativo: awk '/MemFree:/ { print $2}' /proc/meminfopara kB libre de ram solamente o alternativa para Memoria e Intercambio:awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
Tensibai
No estoy seguro de si los scripts awk se pueden ejecutar a través de la consola de scripts de Jenkins. Como puedo ver, la consola de script Jenkins es solo para Groovy
olyv