Dave Plummer อดีตวิศวกรของ Microsoft ผู้เคยมีส่วนร่วมในโปรเจกต์สำคัญอย่างการเพิ่มการรองรับไฟล์ ZIP และเมนู Start ของ Windows NT ได้ออกมาอธิบายว่า Task Manager วัดการใช้งาน CPU อย่างไร และทำไมบางครั้งตัวเลขที่แสดงถึงดู “ไม่ตรงกับความรู้สึก”
Plummer ซึ่งเป็นผู้สร้าง Task Manager ดั้งเดิม ออกแบบเครื่องมือนี้ให้เรียบง่ายและใช้ทรัพยากรต่ำที่สุด แต่ก็ยอมรับว่ามีผู้ใช้บางคนรู้สึกว่าค่าการใช้งาน CPU ที่แสดงนั้นคลาดเคลื่อน จึงอธิบายว่าจริง ๆ แล้วการวัด CPU usage เป็นเรื่องที่ซับซ้อนกว่าที่คิด
เขาอธิบายว่า คำว่า “CPU ทำงานอยู่” นั้นไม่ได้มีความหมายเดียว เพราะต้องพิจารณาหลายปัจจัย เช่น
- ใช้งานแค่คอร์เดียวหรือทุกคอร์
- วัด ณ เวลาปัจจุบันหรือค่าเฉลี่ยช่วงเวลา
- เป็นงานของ user mode, kernel mode หรือ interrupt ต่าง ๆ
เมื่อพิจารณาทั้งหมดนี้ การวัด CPU จึงไม่ใช่เรื่องง่ายเหมือนการดูมาตรวัดความเร็วทั่วไป
Task Manager ทำงานแบบรีเฟรชเป็นช่วงเวลา
Plummer ระบุว่า Task Manager ใช้ระบบ timer ในการอัปเดตข้อมูลเป็นช่วง ๆ ทำให้ค่าที่เห็นเป็นเพียง “การตีความ” ของสิ่งที่เกิดขึ้นระหว่างแต่ละช่วงรีเฟรช ไม่ใช่ค่าจริงแบบเรียลไทม์
วิธีที่เขาใช้คือ
- ดึงค่ารวมเวลาการทำงานของแต่ละโปรเซส (kernel + user) ตั้งแต่เริ่มต้น
- นำค่าปัจจุบันมาลบกับค่าจากรอบก่อนหน้า
- แล้วเทียบกับเวลาการทำงานรวมของทุกโปรเซสในช่วงนั้น
แม้วิธีนี้จะดูซับซ้อน แต่ให้ความแม่นยำมากกว่าการคำนวณแบบง่าย ๆ
ทำไมค่าถึงดูไม่ตรงในยุคปัจจุบัน
Plummer อธิบายว่า CPU สมัยใหม่มีความซับซ้อนมากขึ้น เช่น
- การปรับความเร็วอัตโนมัติ (dynamic frequency scaling)
- Turbo boost
- การลดความร้อน (thermal throttling)
- โหมดประหยัดพลังงาน
ทำให้ “เวลาใช้งาน CPU” ไม่ได้สะท้อน “ปริมาณงานจริง” ได้ดีเหมือนในอดีตอีกต่อไป
เขาเปรียบเทียบว่า การดู CPU usage เหมือนการดูว่าถนนมีรถแน่นแค่ไหน ไม่ใช่ว่ารถวิ่งได้ไกลแค่ไหน ถนนครึ่งหนึ่งที่มีรถเร็ว อาจทำงานได้มากกว่าถนนที่รถติดเต็ม
สุดท้ายเขาเสนอแนวคิดว่า การวัด CPU ที่ดีกว่าควรเป็น “ปริมาณงานที่ทำได้ เทียบกับศักยภาพสูงสุดที่ควรทำได้” แต่เนื่องจากเขาเกษียณแล้ว จึงไม่มีอำนาจเปลี่ยนแปลงระบบของ Windows อีกต่อไป
เรื่องนี้แสดงให้เห็นว่า แม้เครื่องมือพื้นฐานอย่าง Task Manager ก็มีความซับซ้อนเบื้องหลังมากกว่าที่ผู้ใช้ทั่วไปคิด
ที่มา: Tom's Hardware



