Mac 合蓋掉電(休眠掉電)解決方法
Mac在合蓋之後還在掉電,第二天開啟一看,只有40%的電量。針對合蓋掉電的問題可能有以下解決方法。
1、重置Mac的SMC
根據Mac官方的提示,重置愛SMC可以解決某些電源,電池,風扇相關的問題。重置方法如下:
Mac官方針對不同型號的電腦都給出了相關的設定方法。根據教程設定後可能可以解決相關的問題。
2、在終端中修改電源選項
在終端中查詢相關狀態,不瞭解終端是什麼東東的朋友可以翻看我之前的文章。
簡潔版本:
為了節約大家時間,這裡給一個簡單版本。
1。合蓋後關閉網路喚醒:
sudo pmset -b tcpkeepalive 0
2。減小合蓋後資料在記憶體中保留的時間(預設8個小時 = 28800秒)
sudo pmset -b standbydelay 14400
3。減小裝資料寫入硬碟徹底斷電的時間
sudo pmset -b autopoweroffdelay 14400
4。修改休眠模式
sudo pmset -b hibernatemode 25
(需要說明的是,修改為25之後,喚醒會稍微變慢,大約需要4~5s,介意者可修改為3)
注意以上操作都需要在敲入命令後輸入自己的開機密碼然後按回車。
詳細版本
在終端中輸入pmset -g,檢視相關的電源設定(
p
ower
m
anagment
set
tings,電源管理設定的意思);在插電源使用時看到的是插電源狀態下的設定,合蓋掉電應該是電池狀態下的問題,建議拔掉電源後再輸入指令。
System-wide power settings:
Currently in use:
lidwake 1
autopoweroff 1
standbydelayhigh 86400
autopoweroffdelay 28800
proximitywake 0
standby 1
standbydelaylow 10800
ttyskeepawake 1
hibernatemode 25
powernap 0
gpuswitch 2
hibernatefile /var/vm/sleepimage
highstandbythreshold 50
displaysleep 5
sleep 5 (sleep prevented by timed)
acwake 0
halfdim 1
tcpkeepalive 0
disksleep 10
輸入pmset -g後會輸出現在相關的狀態資訊,我這裡把出現的各個專案按順序簡要說明一下。
lidwake – 當筆記本開啟蓋子的時候喚醒機器(值為 1 或者 0)
autopoweroff – 系統將寫入休眠映象並且進入到低電量晶片組睡眠。從這個狀態喚醒所花的時間要比普通休眠喚醒的時間要長。如果有外部裝置連線,系統不會自動切斷電源,如果系統使用電池供電,或者系統被繫結在網路並且透過網路訪問被喚醒功能開啟。
standbydelayhigh - 當電源電量夠高時,合蓋後記憶體保留的秒數
autopoweroffdelay – 進入自動切斷電源模式的延遲(值為表示分鐘的整數)
proximitywake - 同 iCloud 裝置喚醒
standby - 合蓋後保留記憶體(值為0或者1)
standbydelaylow - 電池電量低時,合蓋後記憶體保留的秒數
ttyskeepawake – 當任何 tty(如:遠端登入會話) 在活動狀態時,阻止系統空閒睡眠。tty 只能是非活動 當它的空閒時間超過系統睡眠計時器(值為 1 或者 0)
hibernatemode – 改變休眠模式
powernap - 電源小憩(0或1)
gpuswitch - gpu支援(2為自動模式)
hibernatefile – 改變休眠映象檔案位置。映象應該只被定為到根卷中。請小心使用(值為路徑)
highstandbythreshold - 電池剩餘電量百分比 standby模式的選擇閾值,一般為50%
displaysleep – 顯示器睡眠計時器;替換 10。4 版本中的 dim 引數(值為分鐘,或者設定 0 來禁用)
sleep – 系統睡眠計時器(值為分鐘,或者設定 0 來禁用)
acwake – 當電源(AC 或者電池)改變的時候喚醒機器(值為 1 或者 0)
halfdim – 顯示器睡眠將使用在最大亮度和關閉顯示器之間的中間亮度(值為 1 或者 0)
tcpkeepalive - 合蓋時是否儲存網路連線
disksleep - 硬碟休眠時間(值為分鐘)
為了便於大家理解,我把Mac休眠過程的示意圖給大家。
在合蓋之後,或者長時間不操作電腦之後,系統將進入等待休眠的模式,在sleep的時間之後,依據hibernatemode的模式不同,會進入不同的休眠模式。
依據Mac的休眠流程,我們主要需要修改的引數有以下幾個: sleep,hibernatemode,提高standby的電量閾值;tcpkeepalive設定為0,合蓋後中斷網路連結;proximitywake設定成 0, 關閉被同一網路下的同 iCloud 裝置喚醒。
這裡需要對hibernatemode的不同引數說明一下。
hibernatemode = 0
iMac, Mac Mini等 Mac桌面裝置預設引數
持續向記憶體供電,將資料保留在記憶體
喚醒速度快,減少硬碟佔用
資料有丟失風險
耗電量大
hibernatemode = 25
將資料寫入硬碟
不向記憶體供電,將記憶體映象直接寫入硬碟
資料不易丟失,映象佔用硬碟空間
喚醒速度慢
耗電量少
hibernatemode = 3
MacBook 筆記本裝置預設引數
safe sleep, 資料既寫入記憶體又寫入硬碟
持續向記憶體供電
喚醒時,根據裝置電量自動選擇從 記憶體/硬碟 恢復
依據以上引數含義,我們將電池供電下的狀態設定如下:
// 5 分鐘後進入休眠
sudo pmset -b sleep 5
// 向硬碟寫入映象,不向記憶體供電
sudo pmset -b hibernatemode 25
// 顯示器休眠時間:15 分鐘
sudo pmset -b displaysleep 15
// 硬碟休眠時間:30 分鐘
sudo pmset -b disksleep 30
// 休眠時斷網
sudo pmset -b tcpkeepalive 0
// 高電量下 standby: 4小時
sudo pmset -b standbydelayhigh 14400
// 低電量下 standby: 2小時
sudo pmset -b standbydelaylow 7200
// standby 電量閾值:75%
sudo pmset -b highstandbythreshold 75
// 開蓋喚醒
sudo pmset -b lidwake 1
// 關閉被同一 iCloud 下的裝置喚醒
sudo pmset -b acwake 0
經過以上設定之後,應該就可以減少合蓋後Mac的掉電情況。實測掉電很少,一晚上大約1%吧。希望以上內容可以對大家有所幫助,謝謝大家。
參考資料:
MacOS 關閉 tcpkeepalive 解決合蓋掉電問題
透過 pmset 工具管理 masOS 睡眠,讓你的 Mac 睡得更好 - 少數派
How to Hibernate a Mac
https://
en。wikipedia。org/wiki/P
mset