Bagaimana cara memeriksa Jenkins build executor free memory?

13

Di Jenkins ketika mengklik Status Build Executor saya hanya bisa melihat statistik terkait ruang disk kosong (URI:) /computer. Bagaimana saya bisa memonitor memori sistem bebas (RAM) di Jenkins?

Saya bertanya, karena kadang-kadang ketika saya memiliki terlalu banyak eksekutor (walaupun memiliki ruang swap yang dikonfigurasi, tetapi bukan yang di bawah), Jenkins sering kedinginan atau jatuh.

Jenkins at / computer - Nama, Arsitektur, Perbedaan Jam, Ruang Disk Gratis, Ruang Swap Gratis, Ruang Temp Gratis, Waktu Respons

kenorb
sumber
5
Anda dapat menemukan plugin pemantauan bermanfaat: wiki.jenkins-ci.org/display/JENKINS/Monitoring
Assaf Lavie
2
Catatan: bertukar hebat akan merayapi bahkan server yang paling kuat sekalipun, memperlambat semua proses, termasuk para pelaksana Jenkins dan solusi pemantauan lokal. Yang membuat keadaan menjadi lebih buruk: pengumpul sampah memori juga akan berjalan lambat, semakin memenuhi kondisi ini. Untuk kinerja yang layak, saya menyarankan agar ukuran swap tetap kecil, bergantung terutama pada ukuran RAM yang sebenarnya ketika berbagi server yang sama untuk beberapa pelaksana dan menghindari langganan berlebih.
Dan Cornilescu

Jawaban:

8

Lihatlah plugin Pemantauan . Berikut ini beberapa detail lainnya (dari halaman tertaut):

  • Bagan memori, cpu, rata-rata beban sistem, waktu respons http menurut hari, minggu, bulan, tahun atau periode kustom
  • Statistik permintaan http dengan waktu respons rata-rata, waktu cpu rata-rata, rata-rata ukuran respons berdasarkan permintaan dan berdasarkan hari, minggu, bulan, tahun atau periode kustom
  • Kesalahan dan log
  • Permintaan http saat ini
  • Utas
  • Heap histogram (instance dan ukuran berdasarkan kelas)
  • Sesi Http
  • Daftar proses OS
  • MB berarti
  • Tindakan untuk GC, tumpukan timbunan dan sesi tidak valid
  • Laporkan dalam html atau pdf
  • Dalam bahasa Inggris, Jerman, Prancis, Portugis atau Cina
  • Keamanan Jenkins
  • Untuk simpul Jenkins (budak pada umumnya):
    • Laporan untuk node tersedia di http://yourhost/monitoring/nodes
    • Bagan yang dikumpulkan untuk semua node memori, CPU, rata-rata beban sistem, jumlah build yang berjalan, panjang antrian build, waktu build berdasarkan periode
    • Statistik terperinci tentang waktu pembuatan dan langkah-langkah pembangunan berdasarkan periode
    • Utas, daftar proses, dan MB untuk setiap node
    • Heap histogram dikumpulkan untuk semua node
  • Untuk setiap node individu (setiap node dalam http://yourhost/computer), laporan dan tindakan tersedia dari halaman "Pemantauan" di menu kontekstual atau dalam detail node:
    • Utas, daftar proses, MB artinya hanya dari simpul itu
    • Heap histogram dari simpul itu
    • Tindakan untuk GC, heap dump
  • Dan lagi ...

Penghargaan: Assaf Lavie (yang pertama kali menyebutkannya dalam komentar, tetapi karena alasan tertentu tidak memposting itu sebagai jawaban yang sebenarnya ...).

Pierre.Vriens
sumber
5

Adapun solusinya, memori yang sebenarnya dapat diperiksa dengan menjalankan perintah Groovy langsung di Script Console (at /computer/(master)/script). Contoh perintah:

println "free -m".execute().text
kenorb
sumber
2
Perintah alternatif: awk '/MemFree:/ { print $2}' /proc/meminfountuk kB bebas dari ram saja atau alternatif untuk Memory and Swap:awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
Tensibai
Saya tidak yakin apakah skrip awk dapat dieksekusi melalui konsol skrip Jenkins. Seperti yang dapat saya lihat, konsol skrip Jenkins hanya untuk Groovy
olyv