จนกระทั่งเมื่อเร็ว ๆ นี้ฉันคิดว่าค่าเฉลี่ยการโหลด (ดังที่แสดงไว้ด้านบน) เป็นค่าเฉลี่ยเคลื่อนที่ในค่าสุดท้ายของจำนวนกระบวนการในสถานะ "runnable" หรือ "กำลังทำงาน" และ n จะถูกกำหนดโดย "ความยาว" ของค่าเฉลี่ยเคลื่อนที่: เนื่องจากอัลกอริทึมในการคำนวณค่าเฉลี่ยภาระดูเหมือนว่าจะเรียกใช้ทุก ๆ 5 วินาที, n จะเท่ากับ 12 สำหรับค่าเฉลี่ยการโหลด 1 นาที, 12x5 สำหรับค่าเฉลี่ยโหลด 5 นาทีและ 12x15 สำหรับค่าเฉลี่ยการโหลด 15 นาที
แต่แล้วผมอ่านบทความนี้: http://www.linuxjournal.com/article/9001 บทความนี้ค่อนข้างเก่า แต่มีการใช้งานอัลกอริทึมแบบเดียวกันในเคอร์เนล Linux วันนี้ ค่าเฉลี่ยการโหลดไม่ใช่ค่าเฉลี่ยเคลื่อนที่ แต่อัลกอริทึมที่ฉันไม่รู้จักชื่อ อย่างไรก็ตามฉันทำการเปรียบเทียบระหว่างอัลกอริทึมเคอร์เนล Linux และค่าเฉลี่ยเคลื่อนที่สำหรับการโหลดเป็นระยะตามจินตนาการ:
.
มีความแตกต่างอย่างมาก
ในที่สุดคำถามของฉันคือ:
- ทำไมการดำเนินการนี้ได้รับเลือกเมื่อเปรียบเทียบกับค่าเฉลี่ยเคลื่อนที่ที่แท้จริงซึ่งมีความหมายที่แท้จริงสำหรับทุกคน?
- ทำไมทุกคนพูดถึง "1min load average" เนื่องจากอัลกอริทึมมากกว่านาทีสุดท้ายถูกนำมาพิจารณา (ในทางคณิตศาสตร์การวัดทั้งหมดนับตั้งแต่การบู๊ตในทางปฏิบัติโดยคำนึงถึงข้อผิดพลาดในการปัดเศษ - ยังคงมีมาตรการอีกมาก)