MacBook Airは通常、ふたを閉じるとスリープする。
しかし、スリープするだけでは消費電力が発生する。なのでメモリ内容をHDDに待避させて電源を切る(Windowsでは「休止状態」と呼ぶが、ここではハイバネーションモードと呼ぶ)状態になるようなやり方がないか探していた。
現在販売されているMacは、スリープが長くなると自動的にハイバネーションとの複合スリープモードになるらしい。バッテリが無くなることへの対策であるらしい。
で、その現状はどうセットされているかというと、
air:~ user$ pmset -g | grep hibernatemode hibernatemode 3
ということでpmsetのhibernatemodeというところに書いてある。
ということだった。
なお、システム環境設定の「セキュリティ」で「安全な仮想メモリを使用」にチェックを付けると、この値が5や7にする(べきである)、との記載があったりするが、実はもうそれは古い情報なので信用してはいけない。安全なスリープ再考 - TidBITS 日本語版 #893/20-Aug-07の「暗号化の問題」を参照。
ハイバネーションモードに入れるようにした方が良いかな、と思ってOSX Freewares - systemを参考にしていろいろダウンロードしてみた。
だけど、スリープでの消費電力が十分小さければ特に問題はないし、ハイバネーションからの復帰で不具合が生じると困るので、ひとまずやめておくことにした。
といってもバッテリが放電してしまったらハイバネーションがうまく働いていないと困るので、hibernatemodeはデフォルトの3にしておいた。
なお、HDDへのメモリイメージが壊れてしまい、ハイバネーションからの復帰に失敗したとき、対処法は以下の通り。
まず起動時にCommand-Option-O-Fを押してOpenFirmwareに入る。
setenv boot-imageと入力し、
bootと入力して起動させる。
参考1:Hibernate on your non-brandnew Mac
参考2:How to Safe Sleep (Hibernate) Your Mac | Andrew Escobar