Jak sprawdzić, czy Jenkins buduje wolną pamięć executora?


13

W Jenkins po kliknięciu na status Build Executora widzę tylko statystyki związane z wolnym miejscem na dysku (URI:) /computer. Jak mogę monitorować wolną pamięć systemową (RAM) w Jenkins?

Pytam, ponieważ czasami, gdy miałem zbyt wielu wykonawców (pomimo skonfigurowania przestrzeni wymiany, ale nie tej poniżej), Jenkins często się zamrażał lub zawieszał.

Jenkins at / computer - Name, Architecture, Difference, Free Space Disk, Free Swap Space, Free Temp Space, Time Response



2
Uwaga dodatkowa: intensywna zamiana spowoduje przeszukanie nawet najbardziej wydajnych serwerów, spowalniając wszystkie procesy, w tym programy wykonawcze Jenkins i lokalne rozwiązania monitorujące. Co gorsza: śmieciarze pamięci również będą działać wolno, dodatkowo zasilając ten warunek. Aby uzyskać przyzwoitą wydajność, radzę zachować niewielki rozmiar wymiany, opierając się przede wszystkim na faktycznym rozmiarze pamięci RAM podczas udostępniania tego samego serwera dla wielu wykonawców i unikając nadmiernej nadmiernej subskrypcji.
Dan Cornilescu,

Odpowiedzi:


8

Zobacz wtyczkę Monitoring . Oto kilka szczegółowych informacji na ten temat (z połączonej strony):

  • Wykresy pamięci, procesora, średnie obciążenie systemu, czasy odpowiedzi HTTP według dnia, tygodnia, miesiąca, roku lub okresu niestandardowego
  • Statystyki żądań HTTP ze średnimi czasami odpowiedzi, średnimi czasami procesora, średnim rozmiarem odpowiedzi według żądania oraz według dnia, tygodnia, miesiąca, roku lub okresu niestandardowego
  • Błędy i logi
  • Aktualne żądania http
  • Wątki
  • Histogram sterty (wystąpienia i rozmiary według klas)
  • Sesje HTTP
  • Przetwórz listę systemu operacyjnego
  • MBean
  • Działania dla GC, zrzutu stosu i unieważnienia sesji
  • Zgłoś w html lub pdf
  • W języku angielskim, niemieckim, francuskim, portugalskim lub chińskim
  • Bezpieczeństwo Jenkinsa
  • W przypadku węzłów Jenkins (ogólnie niewolników):
    • Raport dla węzłów jest dostępny pod adresem http://yourhost/monitoring/nodes
    • Wykresy agregowane dla wszystkich węzłów pamięci, procesora, średniego obciążenia systemu, liczby uruchomionych kompilacji, długości kolejki kompilacji, czasów kompilacji według okresu
    • Szczegółowe statystyki czasów kompilacji i kroków kompilacji według okresu
    • Wątki, lista procesów i komponenty MBean dla każdego węzła
    • Histogram sterty zagregowany dla wszystkich węzłów
  • Dla każdego pojedynczego węzła (każdego węzła w http://yourhost/computer) raporty i działania są dostępne na stronie „Monitorowanie” w menu kontekstowym lub w szczegółach węzła:
    • Wątki, lista procesów, tylko MBean tego węzła
    • Sterty histogramu tego węzła
    • Akcje dla GC, zrzut stosu
  • I więcej...

Kredyty: Assaf Lavie (który pierwszy wspomniał o tym w komentarzu, ale z jakiegoś powodu nie opublikował tego jako rzeczywistej odpowiedzi ...).


5

Jeśli chodzi o obejście, rzeczywistą pamięć można sprawdzić, wywołując polecenia Groovy bezpośrednio w Script Console (at /computer/(master)/script). Przykładowe polecenie:

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

2
Alternatywne polecenie: tylko awk '/MemFree:/ { print $2}' /proc/meminfodla kB bez pamięci RAM lub alternatywa dla pamięci i awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
zamiany

Nie jestem pewien, czy skrypty awk można wykonać za pomocą konsoli skryptów Jenkins. Jak widzę, konsola skryptowa Jenkins jest przeznaczona tylko dla Groovy
olyv
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.