เวิร์กสเตชันโหมดจำศีลปลอม สูญเสียพลังงานกว่า 163 วัตต์
จับพิรุธคอมพิวเตอร์สเปกแรงที่เข้าโหมดสลีปแต่ยังซดไฟกระจาย แก้ไขได้ง่ายๆ ด้วยการตั้งค่า BIOS

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- เวิร์กสเตชัน Threadripper กินไฟสูงถึง 179.8 วัตต์ในโหมดสลีปแบบ s2idle
- สาเหตุมาจากค่าเริ่มต้นในเคอร์เนล Linux ที่ใช้ s2idle แทนการปิดระบบแบบลึก
- การเปิดใช้งานโหมด S3 ใน BIOS ช่วยลดการใช้พลังงานขณะสลีปเหลือเพียง 17 วัตต์
- การใช้ปลั๊กอัจฉริยะราคา 15 ดอลลาร์ช่วยตรวจสอบการใช้พลังงานที่แท้จริงจากเต้ารับ
นักพัฒนาซอฟต์แวร์รายหนึ่งผู้เป็นเจ้าของเครื่องเวิร์กสเตชัน Threadripper พร้อมการ์ดจอคู่ RTX A6000 ในโฮมแล็บ ได้สังเกตเห็นลมร้อนพัดออกมาจากตัวเครื่องทั้งที่ระบบควรจะพักการทำงานไปแล้ว ด้วยความสงสัย เขาจึงตัดสินใจซื้อปลั๊กอัจฉริยะราคาประมาณ 15 ดอลลาร์สหรัฐมาวัดกระแสไฟฟ้าโดยตรงจากเต้ารับ และพบตัวเลขที่น่าตกใจว่า เครื่องคอมพิวเตอร์ที่อยู่ในสถานะเข้าโหมดสลีปแล้ว กลับใช้พลังงานไฟฟ้าสูงถึง 179.8 วัตต์ ซึ่งมากกว่าตอนที่เปิดเครื่องใช้งานปกติแบบไม่ได้ทำอะไรเลยซึ่งกินไฟประมาณ 123 วัตต์เสียอีก
สาเหตุเบื้องหลังเรื่องนี้มาจากระบบจัดการพลังงานของ Linux ที่มีโหมดพักเครื่องหลายรูปแบบ โดยค่าเริ่มต้นระบบมักจะเลือกใช้ s2idle ซึ่งเป็นรูปแบบการพักเครื่องเฉพาะซอฟต์แวร์ เคอร์เนลจะหยุดการทำงานเบื้องต้นแต่ฮาร์ดแวร์รอบข้าง ทั้งพัดลม อุปกรณ์ และภาคจ่ายไฟ ยังคงได้รับพลังงานหล่อเลี้ยงอยู่ ยิ่งไปกว่านั้น แดมมอนที่คอยควบคุมการประหยัดพลังงานจะหยุดทำงานเมื่อ OS พักเครื่อง ส่งผลให้อุปกรณ์ฮาร์ดแวร์ยังคงเผาผลาญพลังงานอย่างต่อเนื่อง

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
เมื่อตรวจสอบการตั้งค่าด้วยคำสั่ง cat /sys/power/mem_sleep พบว่าระบบแสดงค่าเป็น [s2idle] เท่านั้น ไม่มีตัวเลือก deep ให้ใช้งาน เนื่องจากเมนบอร์ด ASUS WRX90 ที่เขาใช้งานถูกปิดใช้งานโหมด S3 มาจากโรงงานผ่านทางเฟิร์มแวร์ในส่วน Advanced สู่ APM Configuration เขาจึงเข้าไปแก้ไขการตั้งค่าใน BIOS ให้เปิดใช้งาน S3 mode จากนั้นเมื่อทำการรีบูตเครื่องและทดสอบคำสั่งเดิม ระบบจึงเปลี่ยนมาใช้โหมด deep เป็นค่าเริ่มต้นโดยอัตโนมัติ
โหมด S3 (Suspend-to-RAM) ถือเป็นมาตรฐานดั้งเดิมที่แรมจะอยู่ในสถานะรีเฟรชตัวเองขณะที่อุปกรณ์ส่วนใหญ่ถูกตัดไฟ เพื่อให้คอมพิวเตอร์สามารถกลับมาทำงานต่อได้อย่างรวดเร็วโดยใช้พลังงานต่ำมาก การที่ฮาร์ดแวร์รุ่นใหม่บางรุ่นปิดฟีเจอร์นี้เป็นค่าเริ่มต้นหรือถูกแทนที่ด้วยมาตรฐาน Modern Standby จากฝั่งไมโครซอฟท์ มักสร้างปัญหาเรื่องการกินไฟแอบแฝงในลักษณะนี้กับผู้ใช้งานฝั่ง Linux เป็นประจำ
ผลลัพธ์จากการสลับตั้งค่าเพียงครั้งเดียวใน BIOS ทำให้เมื่อสั่งระบบเข้าสู่โหมดสลีปอีกครั้ง ตัวเลขบนปลั๊กอัจฉริยะร่วงลงจาก 179.8 วัตต์ เหลือเพียง 17 วัตต์ทันที โดยที่ฟังก์ชัน Wake-on-LAN ยังคงใช้งานได้ตามปกติ การ์ดจอทั้งสองตัวกลับมาทำงานได้ไร้ที่ติ ส่วนพลังงาน 17 วัตต์ที่เหลืออยู่นั้น ส่วนใหญ่ถูกใช้ไปกับชิป BMC บนเมนบอร์ดที่เป็นระบบจัดการระยะไกลแบบเปิดตลอดเวลา ซึ่งผู้ดูแลระบบยอมรับได้เนื่องจากบอร์ดระดับเวิร์กสเตชันมักมีความต้องการใช้ฟีเจอร์เหล่านี้แตกต่างจากบอร์ดคอนซูเมอร์ทั่วไป
แนวทางการตรวจสอบและแก้ไขปัญหาสำหรับผู้ใช้งานที่พบอาการเดียวกันสามารถทำได้ดังนี้:
- ตรวจสอบโหมดสลีปปัจจุบันด้วยคำสั่ง
cat /sys/power/mem_sleep - หากพบเพียง s2idle ให้ตรวจสอบเมนบอร์ดในส่วน BIOS เพื่อเปิดใช้งาน S3 หรือ ACPI Sleep State
- บังคับใช้โหมด deep ผ่านคำสั่ง
echo deep | sudo tee /sys/power/mem_sleep - ใช้ปลั๊กวัดพลังงานอัจฉริยะเพื่อตรวจสอบกระแสไฟฟ้าที่เต้ารับแทนการเชื่อถือล็อกระบบเพียงอย่างเดียว
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น