Tuesday, August 11, 2009

MacOS X 的3種睡眠模式 « なんでも

MacOS X 的3種睡眠模式 « なんでも: "相信大部份 Mac 的使用者,在不需要用 Mac 的時候都會以「睡眠」代替「關機」吧,因為速度實在是太快,「睡覺」和「起床」合共也不用花多過10秒(不同的機種和狀況下會有差異)。但大家又知不知道,OSX 中的「睡眠」是有三種不同的模式的呢?

1. Sleep – 保持 RAM 的內容不變
2. Safe Sleep – 保持 RAM 的內容不變,同時會將 RAM 的內容備份至硬碟
3. Deep Sleep – 將 RAM 的內容儲存至硬碟

如果轉換成 Windows 上的用語,Sleep 就是 Sleep (暫停),Deep Sleep 就是 Hibernate (休眠) 吧,至於 Safe Sleep,Windows 好像沒有 @.@a

在一般的情況下,Mac 是會使用 Safe Sleep。由於要保持 RAM 的內容不變就必須供電給 RAM,所以在 Sleep 及 Safe Sleep 的情況下還是會耗電,而 Deep Sleep 則會在 RAM 的內容被儲存至硬碟後就不再需要供電。

看上去 Deep Sleep 似乎很好嘛,幹嘛還要 Sleep 和 Safe Sleep 呢?這是因為速度的問題。

Sleep 由於不用將資料寫至硬碟,所以入睡的速度很高,一至兩秒就可以了。但假如電源斷了或是電池用光了,就只能從新啟動一次系統,還有可能導致資料流失。而 Safe Sleep 將 RAM 內容備份至硬碟就是為了減低資料流失的可能,但就要花一點時間做備份。而 Deep Sleep 則與 Safe Sleep 使用時間相約,但由於 Safe Sleep 跟 Sleep 一樣在 RAM 內的資料沒有被消去,所以沒有 Deep Sleep 的賴床問題,很快就清醒。也因為這個原因,大家在 Safe Sleep/Deep Sleep 後,要確定硬碟已經停止活動才移動 Macbook,否則有機會導致硬碟出現問題。

嗯,說了這麼久,你想轉用 Sleep 或者 Deep Sleep 嗎?如果不想的話,可以把瀏覽器關掉喇,因為以下的東西你應該沒興趣聽 XDD 不過如果想知多一點點的話還是可以繼續下去(拜託,不要關掉瀏覽器喇,剛剛只是說笑的啦 m>_<m)

首先,要確定一下現在設定的是哪個睡眠模式,到 Terminal 輸入以下指令:

pmset -g | grep hibernatemode

它會給你一個像 “hibernatemode X” 的回應。而 X 會有幾個可能性:

* 0 (數字零,不是英文字母 o) – Sleep
* 1 – Deep Sleep
* 3 – Safe Sleep
* 以上皆非 – 送你的 Mac 去科研吧

如果需要變更的話,就到 Terminal 輸入以下指令:

sudo pmset -a hibernatemode X

X 則跟上面的一樣,0是 Sleep,1是 Deep Sleep,3是 Safe Sleep。更改後,下一次睡眠就會以剛設定的模式進行。

如果你鐵定不會用睡眠或者只會用 Sleep,你可以把睡眠的備份刪去。到 Terminal 輸入以下指令:

sudo rm /var/vm/sleepimage"