Wie überprüfe ich, ob Jenkins freien Speicher für Executor erstellt?

13

Wenn ich in Jenkins auf Build Executor Status klicke, werden nur Statistiken zum freien Speicherplatz (URI :) angezeigt/computer . Wie kann ich den freien Systemspeicher (RAM) in Jenkins überwachen?

Ich frage, denn manchmal, wenn ich zu viele Executoren hatte (obwohl Swap Space konfiguriert war, aber nicht der unten), fror Jenkins ein oder stürzte viel ab.

Jenkins at / computer - Name, Architektur, Taktdifferenz, freier Speicherplatz, freier Swap-Speicher, freier temporärer Speicherplatz, Reaktionszeit

Kenorb
quelle
5
Das Überwachungs-Plugin ist möglicherweise hilfreich: wiki.jenkins-ci.org/display/JENKINS/Monitoring
Assaf Lavie
2
Randnotiz: Durch starkes Austauschen werden selbst die leistungsstärksten Server gecrawlt, wodurch alle Prozesse verlangsamt werden, einschließlich der Jenkins-Executoren und der lokalen Überwachungslösungen. Um die Sache noch schlimmer zu machen: Die Speicher-Garbage-Collectors laufen ebenfalls langsam und speisen den Zustand weiter. Für eine anständige Leistung würde ich empfehlen, die Swap-Größe klein zu halten, wobei Sie sich in erster Linie auf die tatsächliche RAM-Größe stützen, wenn Sie denselben Server für mehrere Executoren gemeinsam nutzen, und ein starkes Überabonnement vermeiden.
Dan Cornilescu

Antworten:

8

Schauen Sie sich das Monitoring- Plugin an. Hier sind einige weitere Details dazu (von der verlinkten Seite):

  • Diagramme zu Speicher, CPU, durchschnittlicher Systemlast, http-Antwortzeiten nach Tag, Woche, Monat, Jahr oder benutzerdefiniertem Zeitraum
  • Statistik von http-Anfragen mit mittleren Antwortzeiten, mittleren CPU-Zeiten, mittlerer Antwortgröße nach Anfrage und nach Tag, Woche, Monat, Jahr oder benutzerdefiniertem Zeitraum
  • Fehler und Protokolle
  • Aktuelle http-Anfragen
  • Themen
  • Heap-Histogramm (Instanzen und Größen nach Klasse)
  • HTTP-Sitzungen
  • Prozessliste des Betriebssystems
  • MBeans
  • Aktionen für GC, Heap-Dump und ungültige Sitzung (en)
  • Bericht in HTML oder PDF
  • In Englisch, Deutsch, Französisch, Portugiesisch oder Chinesisch
  • Jenkins Sicherheit
  • Für Jenkins-Knoten (Slaves im Allgemeinen):
    • Der Bericht für die Knoten ist verfügbar unter http://yourhost/monitoring/nodes
    • Diagramme aggregiert für alle Speicherknoten, CPU, Durchschnitt der Systemlast, Anzahl der ausgeführten Builds, Länge der Build-Warteschlange, Build-Zeiten nach Zeitraum
    • Detaillierte Statistiken der Erstellungszeiten und der Erstellungsschritte nach Zeitraum
    • Threads, Prozessliste und MBeans für jeden Knoten
    • Heap-Histogramm für alle Knoten aggregiert
  • Für jeden einzelnen Knoten (jeder Knoten in http://yourhost/computer) sind Berichte und Aktionen auf der Seite "Überwachung" im Kontextmenü oder im Detail des Knotens verfügbar:
    • Threads, Prozessliste, MBeans nur dieses Knotens
    • Heap-Histogramm dieses Knotens
    • Aktionen für GC, Heap Dump
  • Und mehr...

Credits: Assaf Lavie (der es zuerst in einem Kommentar erwähnt hat, aber aus irgendeinem Grund nicht als tatsächliche Antwort gepostet hat ...).

Pierre.Vriens
quelle
5

Um dies zu umgehen, kann der tatsächliche Speicher überprüft werden, indem Groovy-Befehle direkt in der Skriptkonsole (at /computer/(master)/script) aufgerufen werden . Beispielbefehl:

println "free -m".execute().text
Kenorb
quelle
2
Alternativer Befehl: awk '/MemFree:/ { print $2}' /proc/meminfofür kB nur frei von RAM oder Alternative für Memory und Swap:awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
Tensibai
Ich bin nicht sicher, ob awk-Skripte über die Jenkins-Skriptkonsole ausgeführt werden können. Wie ich sehen kann, ist Jenkins
Skriptkonsole