Como verificar Jenkins construir memória livre do executor?

13

Em Jenkins, ao clicar em Criar status do executor, só posso ver estatísticas relacionadas ao espaço em disco livre (URI:) /computer. Como posso monitorar a memória livre do sistema (RAM) no Jenkins?

Estou perguntando, porque às vezes quando eu tinha muitos executores (apesar de ter o espaço de troca configurado, mas não o abaixo), Jenkins estava congelando ou travando muito.

Jenkins em / computer - Nome, Arquitetura, Diferença de clock, Espaço livre em disco, Espaço livre de troca, Espaço livre de temperatura, Tempo de resposta

kenorb
fonte
5
Você pode encontrar o monitoramento do plugin útil: wiki.jenkins-ci.org/display/JENKINS/Monitoring
Assaf Lavie
2
Nota lateral: a troca pesada trará até os servidores mais poderosos para um rastreamento, atrasando todos os processos, incluindo os executores Jenkins e as soluções de monitoramento local. Para piorar a situação: os coletores de memória também serão lentos, alimentando ainda mais a condição. Para um desempenho decente, aconselho a manter o tamanho da troca pequeno, contando principalmente com o tamanho real da RAM ao compartilhar o mesmo servidor para vários executores e evitar a assinatura excessiva.
Dan Cornilescu 11/11

Respostas:

8

Dê uma olhada no plug-in de monitoramento . Aqui estão mais alguns detalhes sobre isso (na página vinculada):

  • Gráficos de memória, CPU, média de carga do sistema, tempos de resposta http por dia, semana, mês, ano ou período personalizado
  • Estatísticas de solicitações http com tempo médio de resposta, tempo médio da CPU, tamanho médio da resposta por solicitação e por dia, semana, mês, ano ou período personalizado
  • Erros e logs
  • Solicitações HTTP atuais
  • Tópicos
  • Histograma de heap (instâncias e tamanhos por classe)
  • Sessões HTTP
  • Lista de processos do SO
  • MBeans
  • Ações para GC, despejo de heap e invalidar sessão (s)
  • Relatório em html ou pdf
  • Em inglês, alemão, francês, português ou chinês
  • Segurança Jenkins
  • Para nós Jenkins (escravos em geral):
    • O relatório para os nós está disponível em http://yourhost/monitoring/nodes
    • Gráficos agregados para todos os nós de memória, CPU, média de carga do sistema, número de construções em execução, comprimento da fila de construção, tempos de construção por período
    • Estatísticas detalhadas dos tempos de construção e das etapas de construção por período
    • Threads, lista de processos e MBeans para cada nó
    • Histograma de heap agregado para todos os nós
  • Para cada nó individual (cada nó inserido http://yourhost/computer), relatórios e ações estão disponíveis na página "Monitoramento" no menu contextual ou nos detalhes do nó:
    • Threads, lista de processos, apenas MBeans desse nó
    • Histograma de pilha desse nó
    • Ações para GC, despejo de heap
  • E mais...

Créditos: Assaf Lavie (que o mencionou pela primeira vez em um comentário, mas por algum motivo não o postou como resposta real ...).

Pierre.Vriens
fonte
5

Quanto à solução alternativa, a memória real pode ser verificada chamando comandos Groovy diretamente no console de scripts (em /computer/(master)/script). Comando de exemplo:

println "free -m".execute().text
kenorb
fonte
2
Comando alternativo: awk '/MemFree:/ { print $2}' /proc/meminfopara kB livre apenas de ram ou alternativa para Memória e troca:awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
Tensibai 1/17/17
Não tenho certeza se os scripts awk podem ser executados via console de scripts Jenkins. Como eu posso ver, Jenkins consola roteiro é para Groovy única
olyv