先日のエントリーでMacのスリープ動作設定を変更する為のシステム環境設定項目 SmartSleep をご紹介しましたが、システム環境設定項目を入れずともMacのスリープモードを切り替える方法を忘却録を兼ねてエントリーにしておこうと思います。
まずMacのスリープ動作について考える。
SmartSleepのエントリーでも記載したのですが、Macには3つのスリープ動作モードがあります。
(a) sleep and hibernate ( Safe Sleep Mode / セーフスリープモード )
pmsetコマンドによる設定No: 3
RAM上の内容をハードディスクに書き込み、保存。
そのため、スリープ中にバッテリー残量が無くなっても、ACアダプターを接続すれば復帰可能。
ただし、RAMの内容を保持する為にスリープ中もバッテリーの電力を使う。
スリープへの移行時にRAM内容をハードディスクに書き込むので少し時間がかかる。
復帰は早い。
(b) sleep only ( sleep mode / スリープモード )
pmsetコマンドによる設定No: 0
RAM上の内容をハードディスクに書き込まない。
よって、スリープ中にバッテリー残量が無くなると、ACアダプターを接続しても復帰不可能。
RAMの内容を保持する為にスリープ中もバッテリーの電力を使う。
スリープへの移行時にRAM内容をハードディスクに書き込まないので高速。
復帰も早い。
Windowsのスタンバイ。
(c) hibernate only ( deep sleep mode / ディープスリープモード )
pmsetコマンドによる設定No: 1
RAM上の内容をハードディスクに書き込み、保存。
そのため、スリープ中にバッテリー残量が無くなっても、ACアダプターを接続すれば復帰可能。
RAMの内容はスリープ移行時に破棄するので、スリープ中はバッテリー電力を使わない。
スリープへの移行時にRAM内容をハードディスクに書き込むので少し時間がかかる。
スリープからの復帰時にも元のRAM内容をハードディスクから読み出すので少し時間がかかる。
Windowsの休止状態。
RAM上の内容をハードディスクへ書き込んだり、読み出す時間はRAM容量によって随分異なりますので、一概に何秒とは言えませんが、ウチの4GB RAM MBPでは10秒以上はかかります。
現在のスリープ動作設定を知る。
まずは、現在の設定が上記のいずれであるかを知る方法です。
[アプリケーション] – [ユーティリティ] – [ターミナル] を起動して、
pmset -g
とタイプしてenterを押します。
色々表示されますが、現在のスリープ動作設定を表しているのは hibernatemode の項目に表示される数字です。
0の場合: 上述の (b) sleep only ( sleep mode / スリープモード )
1の場合: 上述の (c) hibernate only ( deep sleep mode / ディープスリープモード )
3の場合: 上述の (a) sleep and hibernate ( Safe Sleep Mode / セーフスリープモード )
MacBookのデフォルト設定は3 – (a) sleep and hibernate ( Safe Sleep Mode / セーフスリープモード ) の様です。
スリープ動作設定を変更する。
引き続きターミナル上で
sudo pmset -a hibernatemode [No]
とタイプしてenterを押します。
[No]の箇所には 0 か 1 か 3 をタイプします。例えば上述の (b) sleep only ( sleep mode / スリープモード )へ設定を変更したい場合は
sudo pmset -a hibernatemode 0
です。
すると、Password: と表示されますので、ログインパスワードを入力したenterを押します。
ちゃんと設定が変更されたかどうかは pmset -g コマンドで確認出来ます。この設定変更は即座に有効になりますので、Macの再起動は必要ないはずです。
ここで紹介した方法を用いれば、Mac OS Xに標準で入っているターミナルだけでスリープ動作設定を変更する事が出来ます。先日のSmartSleepでも設定変更もそうですが、スリープモードの変更はAppleが公式にサポートしているわけではないので、自己責任で。