MacBook Pro Insomnia
(manuel.bernhardt.io)- MacBook Pro Silicon M1 Max พบปรากฏการณ์ แบตเตอรี่ลดลงตลอดคืน
- พยายามวิเคราะห์ ล็อกการจัดการพลังงาน ด้วยตนเอง แต่ขีดจำกัดทำให้หาสาเหตุไม่ได้
- ใช้ แอปเฉพาะ Sleep Aid เพื่อดู เหตุการณ์ Wake (wake event) แบบภาพได้
- ในการตั้งค่า Sleep Aid พบว่าออปชัน "Wake for maintenance (เปิดตื่นเพื่อการบำรุงรักษา)" ถูกปิดใช้งาน และเป็นสาเหตุ
- เมื่อเปิดใช้งานตัวเลือกนี้อีกครั้ง หลังจากนั้นปัญหาการลดแบตเตอรี่ทั้งคืน หายไป
ประสบการณ์ปัญหาการใช้แบตเตอรี่ตลอดคืนบน MacBook Pro
- มีประสบการณ์ใช้งาน MacBook Pro Silicon M1 Max มาหลายปี
- ช่วงล่าสุดพบอาการที่เมื่อวางโน๊ตบุ๊กไว้โดยไม่ต่อไฟแล้วแบตเตอรี่ ลดลงอย่างมากตลอดคืน โดยไม่คาดคิด
- อาการรุนแรงขึ้นเรื่อยๆ จนต้องเริ่ม วิเคราะห์หาสาเหตุ ด้วยตัวเอง
พยายามวิเคราะห์ล็อกการจัดการพลังงาน
- สามารถตรวจสอบ ล็อกที่เกี่ยวข้องกับพลังงาน ได้ผ่านคำสั่งเทอร์มินัลของ macOS
pmset -g log - เนื่องจากผลลัพธ์ของล็อกมีขนาดใหญ่และตีความยาก จึงใช้เครื่องมือเรียบง่ายที่พัฒนาขึ้นเองชื่อ pmset-analyzer เพื่อช่วยวิเคราะห์ล็อก
- อย่างไรก็ตาม เครื่องมือนี้ช่วยแก้ปัญหาเชิงปฏิบัติได้ไม่มาก
การปรับค่าเชิงละเอียดและการสืบค้นเพิ่มเติม
- ทดลองปรับ การตั้งค่าการจัดการพลังงาน ทีละอย่างตามเอกสารทางการและชุมชน เช่น
tcpkeepalive - การเปลี่ยนแปลงการตั้งค่าเพียงอย่างเดียวไม่สามารถให้ผลในการ แก้ปัญหา อย่างมีนัยสำคัญ
แก้ปัญหาด้วยแอป Sleep Aid
- ในระหว่างการสืบค้นเพิ่มเติม ได้รู้จักกับแอป Sleep Aid
- แอปนี้แสดง wake event ในรูปแบบภาพ และมีอินเทอร์เฟซที่ใช้งานง่ายในการเปลี่ยนการตั้งค่าจัดการพลังงานต่างๆ
- จากการตรวจสอบใน Sleep Aid พบว่าออปชัน "Wake for maintenance (การปลุกเพื่อการบำรุงรักษา)" ถูกปิดใช้งาน
- ตามคำอธิบายในแอป หากปิดการตั้งค่านี้อาจทำให้เกิด wake event บ่อยขึ้น
- เปิดออปชันนี้อีกครั้ง และหลังจากนั้น อาการแบตเตอรี่ลดลงตลอดคืนหายไป
2 ความคิดเห็น
พอเปิดโหมดพักเครื่องของ MacBook แล้วเข้านอน อยู่ ๆ ตอนตีมืดหน้าจอก็เปิดขึ้นมาจนทั้งห้องสว่างจ้า หลายครั้งสะดุ้งตื่นมาแล้วต้องปิดเครื่องไปเลย เรื่องนี้เป็นประเด็นถกเถียงกันมาตั้งแต่เมื่อไหร่ไม่รู้ แต่จนถึงตอนนี้ก็ยัง...
ความคิดเห็นจาก Hacker News
pmset -g assertionsเพื่อดูได้ว่าโปรเซสไหนกำลังกันไม่ให้ระบบพักเครื่อง และดูรายละเอียดของ power assertion ที่ค้างอยู่ได้ด้วย ในpmsetยังมีคำสั่งที่ไม่มีในเอกสารทางการ ซึ่งดูได้จากซอร์สโค้ดที่ Apple เปิดเผยไว้ และยังมีคำสั่งที่ทำให้เพิกเฉยต่อ assertion บางตัวได้ด้วย เพียงแต่ถ้าปิด assertion แบบ "UserIsActive" คุณอาจลำบากตอนจะปลุกระบบขึ้นมาอีกครั้งsudo pmset -a hibernatemode 25ถ้าจะเปลี่ยนกลับก็ใช้sudo pmset -a hibernatemode 3