Sleep からの復帰トラブル
Macbook Pro を使っていて、どうにも不便に思うことがある。
「スリープからの復帰に失敗することが、ままある」ということだ。
とくに、長時間スリープしたあとなど、かなりの高確率で目覚めてくれなくなる。
OSを再インストールした後、しばらくは調子いいのだが、またすぐに現象が出始める。
症状としては、
- パネルをひらいたときに、一瞬だけログイン画面が出て、消える
- ログイン画面は出ているが、なにも入力できない
- 真っ暗なまま、ログイン画面が出てこない
一度閉じて、しばらく待ってから開く、とか、電源ボタンを何度か押してみる、といったことで、回復することもあるが、ほとんどの場合は、電源長押しでの強制再起動となる。
ネットで調べてみると、同様の症状に苦しんでいる人が、相当数見受けられる。対処方法も、いろいろあるようで、これといった決定打はないようだ。実際、書かれてあることを試したところ、特に効果のありそうなものは無かった。
打つ手がなくなって、苦し紛れに、スリープモードを変更してみたら、これがうまくいった。
MacOS の スリープモード
MacOS には スリープモードが 下表のように3種類ある。
No. | モード名 | スリーブ時の動作 | 復帰時の動作 | スリープ中に電断 | スリープ中の電源 |
---|---|---|---|---|---|
0 | Sleep Mode | ―― | ―― | クラッシュ | 省電力モード |
1 | Deep Sleep Mode | メモリをHDDへ退避 | HDDからメモリを回復 | HDDからメモリを回復 | OFF |
3 | Safe Sleep Mode | メモリをHDDへ退避 | ―― | HDDからメモリを回復 | 省電力モード |
- デスクトップは Sleep Mode がデフォルト
- ノートブックは Safe Sleep Mode がデフォルト
とりあえず、Sleep Mode に切り替えて使ってみたら、完全に症状は収まった。3ヶ月程度、ほぼ電源を切らずに Sleep のみで運用しているが、まったく問題ない。
ほぼ常時、AC電源に接続されているため、Sleep 中に電源が切れてしまう心配もない。
もし、バッテリー切れの懸念がある場合は Deep Sleep Mode にするほうがいいかもしれないが、検証はできていない。
スリープモードの変更
スリープモードの変更は、ターミナルから
% sudo pmset -a hibernatemode 0とやればよい。
管理者権限が必要なので、注意。
また、現在の設定を調べるには
% pmset -gと、やれば
Active Profiles: Battery Power -1 AC Power -1* Currently in use: womp 0 halfdim 1 sms 1 hibernatefile /var/vm/sleepimage gpuswitch 2 disksleep 10 sleep 10 hibernatemode 0 ttyskeepawake 1 displaysleep 10 acwake 0 lidwake 1のように、現在の設定が表示される。