Siege

解決 MacBook Pro 休眠掉電問題

  1. 如果是採用 M1 CPU 及以後的機器請直接查看步驟10

重啟 Macbook,在啟動的時候按住 Command + R,然後系統會進入 recovery 模式

  1. 選擇語言,點下一步,然後在菜單欄選擇打開 terminal

  2. 輸入 csrutil disable 禁掉 SIP,然後正常重啟 macbook

  3. 打開 terminal,輸入 ioreg -l | grep board-id 查看你的 board-id,

  4. 在這個目錄 /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources 下面找到你的 board-id 對應的 .plist 文件。

  5. 用管理員賬户編輯上一步中的 plist 文件,比如 sudo vim Mac-2BD2C319xxxxxxxx.plist, Catalina 系統之後需要 sudo mount -uw / 臨時讀寫只讀分區的內容,此命令重啓後效果消失。

  6. 把以下三項的值修改為 false, 然後保存 。

<key>TCPKeepAliveDuringSleep</key>
<false/>
<key>NotificationWake</key>
<false/>
<key>DNDWhileDisplaySleeps</key>
<false/>
  1. 重啟 Macbook,按照第 1,2 步進入 recovery 模式,輸入命令 csrutil enable 開啟 SIP,。

  2. 正常重啟 Macbook,可以用這個命令 ioreg -l | grep IOPlatformFeatureDefaults 來查看修改後的狀態。

  3. 本文適用於採用 Intel CPU 的機器,採用 M1 CPU 及以後的機器請直接使用

sudo pmset -a tcpkeepalive 0
sudo pmset -a powernap 0 //INTEL ONLY

参考

https://discussions.apple.com/thread/252061187?page=2