Come controllare la memoria libera dell'esecutore di Jenkins?


13

In Jenkins quando faccio clic su Build Executor Status posso vedere solo le statistiche relative allo spazio libero su disco (URI:) /computer. Come posso monitorare la memoria di sistema (RAM) libera in Jenkins?

Lo sto chiedendo, perché a volte quando avevo troppi esecutori (nonostante avessi configurato lo spazio di swap, ma non quello sotto), Jenkins si gelava o si schiantava molto.

Jenkins su / computer: nome, architettura, differenza di clock, spazio libero su disco, spazio di libero scambio, spazio di temperatura libero, tempo di risposta


5
Il plug-in di monitoraggio potrebbe essere utile: wiki.jenkins-ci.org/display/JENKINS/Monitoring
Assaf Lavie

2
Nota a margine: lo scambio pesante porterà una scansione anche dei server più potenti, rallentando tutti i processi, inclusi gli esecutori Jenkins e le soluzioni di monitoraggio locale. A peggiorare le cose: anche i garbage collector della memoria funzioneranno lentamente, alimentando ulteriormente la condizione. Per prestazioni decenti, consiglierei di mantenere piccole le dimensioni dello swap, basandomi principalmente sulle dimensioni effettive della RAM quando condivido lo stesso server per più esecutori ed evitando un eccessivo abbonamento eccessivo.
Dan Cornilescu,

Risposte:


8

Dai un'occhiata al plugin di monitoraggio . Ecco qualche dettaglio in più (dalla pagina collegata):

  • Grafici di memoria, CPU, media del carico di sistema, tempi di risposta http per giorno, settimana, mese, anno o periodo personalizzato
  • Statistiche delle richieste http con tempi di risposta medi, tempi medi della cpu, dimensioni medie di risposta per richiesta e per giorno, settimana, mese, anno o periodo personalizzato
  • Errori e registri
  • Richieste http attuali
  • discussioni
  • Istogramma heap (istanze e dimensioni per classe)
  • Sessioni HTTP
  • Elenco dei processi del sistema operativo
  • MBeans
  • Azioni per GC, dump dell'heap e sessioni non valide
  • Rapporto in html o pdf
  • In inglese, tedesco, francese, portoghese o cinese
  • Sicurezza di Jenkins
  • Per i nodi Jenkins (schiavi in ​​generale):
    • Il rapporto per i nodi è disponibile all'indirizzo http://yourhost/monitoring/nodes
    • Grafici aggregati per tutti i nodi di memoria, CPU, media del carico di sistema, numero di build in esecuzione, lunghezza della coda di build, tempi di build per periodo
    • Statistiche dettagliate dei tempi di costruzione e delle fasi di costruzione per periodo
    • Discussioni, elenco dei processi e MBean per ciascun nodo
    • Istogramma heap aggregato per tutti i nodi
  • Per ogni singolo nodo (ogni nodo in http://yourhost/computer), i report e le azioni sono disponibili dalla pagina "Monitoraggio" nel menu contestuale o nei dettagli del nodo:
    • Discussioni, elenco processi, solo MBean di quel nodo
    • Istogramma heap di quel nodo
    • Azioni per GC, dump dell'heap
  • E altro ...

Riconoscimenti: Assaf Lavie (che l'ha menzionato per la prima volta in un commento, ma per qualche motivo non l'ha pubblicato come una risposta effettiva ...).


5

Per quanto riguarda la soluzione alternativa, la memoria effettiva può essere verificata richiamando i comandi Groovy direttamente in Script Console (at /computer/(master)/script). Esempio di comando:

println "free -m".execute().text

2
Comando alternativo: awk '/MemFree:/ { print $2}' /proc/meminfoper kB privo di ram o alternativa per Memory e Swap:awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
Tensibai

Non sono sicuro che gli script awk possano essere eseguiti tramite la console di script Jenkins. Come posso vedere, la console di script di Jenkins è solo per Groovy
olyv il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.