Linux: รีสตาร์ทกระบวนการของบุคคลที่สามโดยอัตโนมัติเมื่อ pegged ที่ 100%


0

มีวิธีการทั่วไปในการตรวจสอบกระบวนการและรีสตาร์ทโดยอัตโนมัติหากถูกตรึงที่ CPU 100% นานกว่า x วินาทีหรือไม่

ฉันต่อสู้ข้อบกพร่องบางอย่างในเซิร์ฟเวอร์ fastcgi ของ Mono และในขณะที่ฉันค้นหาการแก้ไข (วิเคราะห์การติดตามสแต็ค) ฉันกำลังมองหาวิธีการแก้ไขที่จะตรวจพบโดยอัตโนมัติว่ามันติดอยู่และรีสตาร์ทด้วยพารามิเตอร์บรรทัดคำสั่งเดียวกัน

ขอบคุณ

คำตอบ:


1

ลองmonit

ตัวอย่างการกำหนดค่า:

check process example-server with pidfile /var/run/example-server.pid
  start program = "/etc/init.d/example-server start" with timeout 60 seconds
  stop program  = "/etc/init.d/example-server stop"
  if cpu > 90% for 3 cycles then restart

ดูสิ่งนี้ด้วย:

  1. https://serverfault.com/questions/97541/kill-process-with-high-cpu-usage-after-x-time
  2. https://stackoverflow.com/questions/2784468/monitor-and-kill-runaway-processes-using-100-io
  3. http://mmonit.com/monit/documentation/monit.html

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