วิธีการตรวจสอบ Jenkins สร้างหน่วยความจำอิสระของผู้ปฏิบัติการ?


13

ในเจนกินส์เมื่อคลิกที่สถานะรูปร่างปฏิบัติการฉันเท่านั้นที่สามารถดูสถิติที่เกี่ยวข้องกับพื้นที่ว่างในดิสก์ (URI: /computer) ฉันจะตรวจสอบหน่วยความจำระบบว่าง (RAM) ในเจนกินส์ได้อย่างไร

ฉันถามเพราะบางครั้งเมื่อฉันมีตัวจัดการมากเกินไป (แม้ว่าจะมีการกำหนดค่าพื้นที่สว็อป แต่ไม่ใช่ด้านล่าง) เจนกินส์ก็หยุดนิ่งหรือพังมาก

Jenkins at / computer - ชื่อ, สถาปัตยกรรม, ความแตกต่างของนาฬิกา, พื้นที่ว่างในดิสก์, พื้นที่สลับว่างฟรี, พื้นที่ว่างชั่วคราว, เวลาตอบสนอง


5
คุณอาจพบว่าปลั๊กอินการตรวจสอบมีประโยชน์: wiki.jenkins-ci.org/display/JENKINS/Monitoring
Assaf Lavie

2
หมายเหตุด้านข้าง: การแลกเปลี่ยนที่หนักหน่วงจะนำเซิร์ฟเวอร์ที่ทรงพลังที่สุดมารวบรวมข้อมูลและทำให้กระบวนการทั้งหมดช้าลงรวมถึงผู้ปฏิบัติการเจนกินส์และโซลูชั่นการตรวจสอบในท้องถิ่น ในการทำให้เรื่องแย่ลง: ตัวรวบรวมขยะหน่วยความจำก็จะทำงานช้าลงเช่นกัน เพื่อประสิทธิภาพที่ดีฉันขอแนะนำให้รักษาขนาด swap เล็ก - ish อาศัยหลักขนาด RAM จริงเมื่อใช้เซิร์ฟเวอร์เดียวกันสำหรับผู้ปฏิบัติการหลายคนและหลีกเลี่ยงการสมัครสมาชิกมากเกินไป
Dan Cornilescu

คำตอบ:


8

ดูที่ปลั๊กอินการตรวจสอบ นี่คือรายละเอียดเพิ่มเติมเกี่ยวกับมัน (จากหน้าเชื่อมโยง):

  • แผนภูมิหน่วยความจำ, cpu, โหลดเฉลี่ยของระบบ, เวลาตอบสนอง http ตามวัน, สัปดาห์, เดือน, ปีหรือช่วงเวลาที่กำหนดเอง
  • สถิติของคำขอ HTTP ที่มีเวลาตอบสนองเฉลี่ย, เวลาเฉลี่ยของ CPU, ขนาดการตอบสนองเฉลี่ยตามคำขอและตามวัน, สัปดาห์, เดือน, ปีหรือระยะเวลาที่กำหนดเอง
  • ข้อผิดพลาดและบันทึก
  • คำขอ http ปัจจุบัน
  • หัวข้อ
  • ฮีสโตแกรมฮีป (กรณีและขนาดแยกตามคลาส)
  • http เซสชัน
  • รายการกระบวนการของระบบปฏิบัติการ
  • MBeans
  • การดำเนินการสำหรับ GC กองการถ่ายโอนข้อมูลและเซสชั่นที่ไม่ถูกต้อง
  • รายงานเป็น html หรือ pdf
  • ในภาษาอังกฤษเยอรมันฝรั่งเศสโปรตุเกสหรือจีน
  • ความปลอดภัยเจนกินส์
  • สำหรับโหนดเจนกินส์ (ทาสทั่วไป):
    • รายงานสำหรับโหนดมีอยู่ที่ http://yourhost/monitoring/nodes
    • แผนภูมิรวมสำหรับโหนดหน่วยความจำทั้งหมด, cpu, โหลดระบบเฉลี่ย, จำนวนการรันบิลด์, ความยาวคิวการสร้าง, เวลาสร้างตามช่วงเวลา
    • สถิติโดยละเอียดของเวลาสร้างและขั้นตอนการสร้างตามระยะเวลา
    • เธรดรายการกระบวนการและ MBeans สำหรับแต่ละโหนด
    • ฮีสโตแกรมรวมกันสำหรับโหนดทั้งหมด
  • สำหรับแต่ละโหนด (แต่ละโหนดในhttp://yourhost/computer) รายงานและการดำเนินการสามารถดูได้จากหน้า "การตรวจสอบ" ในเมนูตามบริบทหรือในรายละเอียดของโหนด:
    • เธรดรายการกระบวนการ MBeans ของโหนดนั้นเท่านั้น
    • ฮีสโตแกรมฮีปของโหนดนั้น
    • การดำเนินการสำหรับ GC กองการถ่ายโอนข้อมูล
  • และอื่น ๆ...

เครดิต: Assaf Lavie (คนแรกที่พูดถึงมันในความคิดเห็น แต่ด้วยเหตุผลบางอย่างไม่ได้โพสต์ว่าเป็นคำตอบที่เกิดขึ้นจริง ... )


5

สำหรับวิธีแก้ปัญหาสามารถตรวจสอบหน่วยความจำจริงได้โดยเรียกใช้คำสั่ง Groovy โดยตรงในScript Console (at /computer/(master)/script) คำสั่งตัวอย่าง:

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

2
คำสั่งสำรอง: awk '/MemFree:/ { print $2}' /proc/meminfoสำหรับ kB ที่ไม่มี ram เท่านั้นหรือทางเลือกสำหรับ Memory และ Swap:awk '/(Mem|Swap)Free:/ { print }' /proc/meminfo
Tensibai

ฉันไม่แน่ใจว่าสคริปต์ awk สามารถดำเนินการผ่านคอนโซลสคริปต์ของเจนกินส์ได้หรือไม่ อย่างที่ฉันเห็นคอนโซลสคริปต์ของเจนกินส์นั้นมีไว้สำหรับ Groovy เท่านั้น
olyv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.