jian_z1401 wrote:
你所謂長時間當機是...(恕刪)
抱歉少打了幾個字,是「長時間休眠當機」的問題
是如同你的文章中所述的情況。
macbook 的休眠可以分一般休眠和深度休眠
可以參考蘋果官方文件中有關安全睡眠的章節
一般的休眠 是把資料留在記憶體,然後持續對記憶體供電,其它元件都斷電。是會慢慢掉電的休眠
深度休眠(蘋果稱為安全睡眠)則是把資料寫入硬碟中,然後全機斷電
電腦上有三種休眠模式,在 terminal 能用 pmset -g 看到目前的電源管理設定
如下圖
其中的 hibernatemode 就是目前的休眠模式。
如果數值是0 代表關閉「深度休眠」,只用一般休眠,休眠寫入RAM 然後持續對 RAM 供電,其餘元件斷電
數值是25的話代表只有「深度休眠」,休眠都寫入硬碟,全機斷電
數值是 3 的話則是看要看其它三個變數決定,standbydelaylow,standbydelayhigh,和highstandbythreshold
如果在電量%數在 highstandbythreshold 以上,則會先寫入 RAM,然後在 standbydelayhigh 秒後寫入硬碟進入「深度休眠」
電量%數在 highstandbythreshold 以下則是先寫入 RAM 後看 standbydelaylow 秒決定多久後進「深度休眠」
以mba 2014預設而言 電量 50% 以上時,要闔蓋8小時(86400秒)後才會進深度休眠,電量50%以下也要 3小時(10800秒)才會進深度休眠
然而依照 macrumors 的消息 和 fongv 大的測試, 2013/2014 的 macbook ,OS中雖然有 NVME 的 driver
但 bootrom 中卻是沒有的。在深度休眠喚醒的機制中,系統復電時,會先從 bootrom 把一支程式叫起來,讓他去找存在 SSD 中的休眠映像檔來還原電腦狀態
如果 bootrom 中是認不到 NVME SSD 的,那就會發生進入深度休眠後,喚醒時找不到休眠映像。所以電腦就當了,這就是常聽到的休眠問題
所以我不確定您在文中測時休眠時的 pmset -g 設定為何,系統有沒有真的進入深度休眠狀態,還是其實是只在 RAM 裡的一般 sleep
可以參考 fongv 大的這篇文測試
https://www.mobile01.com/topicdetail.php?f=481&t=5612298
sudo pmset -a hibernatemode 25 -> 直接 deep sleep
pmset sleepnow
這是目前知道的情報就是了
我自己的 air 2014 是直接設成 hibernatemode 0 直接用一般休眠休眠到 RAM,這個方法目前我休眠幾天也是可以開起來。
設定 hibernatemode 0 其實只是把「深度休眠」關掉,電腦還是會休眠的,只是休在 RAM 裡面,然後對 RAM 供電,緩慢的掉電
所以如果有其它資訊歡迎指正