Rain WikiWindows · Linux · Android

ค่าเฉลี่ยโหลด (Load average)

แนวคิดทุกดิสทริบิวชัน Linux

ค่าเฉลี่ยโหลดคือจำนวนเฉลี่ยของกระบวนการที่กำลังทำงานหรือรอการทำงาน (รวมถึงกระบวนการที่รอการอ่าน/เขียนดิสก์) ในช่วง 1, 5 และ 15 นาทีที่ผ่านมา คำสั่ง uptime, 'top' และไฟล์ /proc/loadavg จะแสดงค่านี้ ซึ่งจำเป็นต้องนำไปเปรียบเทียบกับจำนวนคอร์ของ CPU

1การอ่านตัวเลข

'load average: 0.50, 1.20, 2.00' หมายความว่าโหลดกำลังลดลง โดยในนาทีล่าสุดมีค่าน้อยกว่าค่าเฉลี่ยในช่วง 15 นาทีที่ผ่านมา บนเครื่องที่มี 4 คอร์ ค่าโหลดที่ 4 หมายความว่า CPU ถูกใช้งานเต็มประสิทธิภาพโดยเฉลี่ย หากสูงกว่านั้น กระบวนการต่างๆ จะต้องรอคิว

2CPU หรือดิสก์

บน Linux ค่าโหลดจะนับรวมกระบวนการที่อยู่ในสถานะ uninterruptible sleep ซึ่งมักเกิดจากการรอการอ่าน/เขียนดิสก์หรือที่เก็บข้อมูลบนเครือข่าย หากค่าโหลดสูงแต่การใช้งาน CPU ใน top ต่ำ มักบ่งชี้ถึงปัญหา I/O ที่ช้า โดยค่า 'wa' ใน top จะแสดงเวลาที่ใช้ไปกับการรอ I/O

3จำนวนคอร์

คำสั่ง nproc จะแสดงจำนวนหน่วยประมวลผลที่มีอยู่ หากค่าเฉลี่ยโหลดสูงกว่าตัวเลขนี้อย่างต่อเนื่อง ควรตรวจสอบหาสาเหตุ

วิธีการตรวจสอบโหลด

  1. แสดงค่าโหลด: uptime
  2. แสดงจำนวนคอร์: nproc
  3. ค้นหาว่าสิ่งใดใช้งาน CPU: top (กด P เพื่อเรียงลำดับตาม CPU, M ตามหน่วยความจำ)
  4. หากการใช้งาน CPU ต่ำแต่ค่าโหลดสูง ให้ตรวจสอบการรอ I/O ('wa' ใน top) และกิจกรรมของดิสก์

ข้อควรระวัง

  • การพุ่งสูงขึ้นเพียงชั่วคราวในค่า 1 นาทีถือเป็นเรื่องปกติ ให้ดูค่า 15 นาทีเพื่อดูแนวโน้ม
  • เปรียบเทียบกับจำนวนคอร์ก่อนตัดสินว่าค่าโหลดนั้นสูงเกินไป

แหล่งอ้างอิง

  1. หน้าคู่มือ uptime(1) man7.org
  2. หน้าคู่มือ proc(5): /proc/loadavg man7.org

หมายเหตุ: RainServer นำเสนอการตรวจสอบและการล้างข้อมูลอย่างปลอดภัยสำหรับเซิร์ฟเวอร์ Linux โดยจะแสดงรายการสิ่งที่กำลังจะเปลี่ยนแปลงและขออนุญาตก่อนดำเนินการ

ตรวจสอบล่าสุด: