Score:0

การจำกัดอัตราการรีสตาร์ทของ Systemd

ธง jp

ฉันต้องการตั้งค่าบริการ systemd เพื่อให้เริ่มต้นใหม่อย่างรวดเร็วในตอนแรก แต่ช้าลงหลังจากนั้นสักครู่ เหตุผลคือบริการอาจล้มเหลวชั่วคราวและกลับมาใช้งานได้อย่างรวดเร็วเพื่อความพร้อมใช้งานสูงสุด แต่หากปัญหายังคงอยู่อีกต่อไป สิ่งนี้จะสร้างรายการบันทึกจำนวนมาก ในกรณีดังกล่าว ช่วงเวลาการรีสตาร์ทควรนานขึ้นเพื่อไม่ให้เกิดการโหลดดังกล่าว แต่ยังคงกลับมาหากปัญหาได้รับการแก้ไขในบางครั้ง

นี่คือไฟล์บริการปัจจุบันของฉัน:

[หน่วย]
StartLimitIntervalSec=120
StartLimitBurst=4

[บริการ]
ExecStart=/root/test.sh
เริ่มใหม่ = เสมอ
รีสตาร์ทวินาที=10

สคริปต์ทดสอบวนซ้ำตราบใดที่ /root/test.run มีอยู่ จากนั้นออกด้วยรหัสข้อผิดพลาด ฉันสามารถทำให้บริการล้มเหลวได้โดยการลบไฟล์นั้น

นี่คือสิ่งที่ฉันสังเกตเห็น:

  • การเริ่มต้นบริการโดยไม่มีไฟล์เรียกใช้จะล้มเหลวทันที จากนั้นจะลองใหม่ 4 ครั้งและล้มเหลวตลอดไป มันจะไม่พยายามที่จะเริ่มต้นอีกครั้ง
  • การเริ่มต้นบริการด้วยไฟล์เรียกใช้ มันจะทำงานในตอนแรก หลังจากลบไฟล์ บริการล้มเหลว จากนั้นรีสตาร์ทตามด้านบน: 4 ครั้งจากนั้นจะไม่เกิดขึ้นอีก

เห็นได้ชัดว่านี่ไม่ใช่การจำกัดอัตรา แต่เป็นเพียงการจำกัด

ฉันต้องเปลี่ยนอะไรบ้างจึงจะได้รับการจำกัดอัตรา? หลังจากรีสตาร์ท 4 ครั้งภายใน 120 วินาทีล้มเหลว บริการควรพยายามเริ่มต้นใหม่ด้วยอัตราที่ต่ำกว่า

ทำงานบน Raspberry Pi OS ล่าสุด แต่ควรใช้กับระบบปฏิบัติการ Linux ใด ๆ ที่มี systemd

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา