Mac がスリープしないのはなぜ? 原因を調べる方法
Mac がスリープしないときは、たいてい一つのコマンドで原因が分かります。ターミナルで pmset -g assertions を実行し、PreventUserIdleSystemSleep や PreventSystemSleep を含む行を探してください。その行ごとに、Mac を起こし続けているプロセスの名前が出ます。多くの場合は、メディアを再生しているアプリ、リモートアクセスツール、スリープ防止ユーティリティ、ダウンロードのどれかです。その一つを終了すれば、Mac はまた自動でスリープします。
起こし続けているものを探す
まず簡単な答えです。次の行で、スリープを妨げているプロセスが分かります。
pmset -g | grep -E '^ *sleep'
たとえばこの Mac では sleep 1 (sleep prevented by caffeinate, powerd, Amphetamine, ...) と出力されました。それぞれがどれだけの間保持しているかなど、詳細を見るには次を実行します。
pmset -g assertions
同じ Mac での実際の行です。
pid 1321(UURemote): 36:07:42 PreventUserIdleSystemSleep named: "UURemote Disable Idle System Sleep"
マニュアルページ(man pmset)には、アサーションは "may prevent system sleep or display sleep" とあります。読むべきものは次のとおりです。
| アサーション | 妨げるもの | 主な保持者 |
|---|---|---|
PreventUserIdleSystemSleep |
放置時に Mac がスリープすること | メディア再生、ダウンロード、リモートアクセス、スリープ防止ツール |
PreventUserIdleDisplaySleep |
放置時にディスプレイが消えること | 動画、プレゼンテーション、スリープ防止ツール |
PreventSystemSleep |
より広いスリープ | システムのタスク、またはそれを求めるツール |
UserIsActive |
しばらくの間のアイドルタイマー | キーボードやトラックパッドをさわったばかり |
これらの多くは放置時だけの妨げなので、Apple メニューから スリープ を選べば通常はスリープします。それでもスリープしないなら、読み進めてください。
よくある原因を確認する
| プロセスや兆候 | 理由 | 対処 |
|---|---|---|
coreaudiod |
オーディオが開いている。一時停止中のタブのこともある | タブやプレーヤーを閉じる |
| ブラウザや動画アプリ | 動画を再生している | 停止するかページを閉じる |
caffeinate、Amphetamine など |
Mac を起こしておくためのもの | 終了するか、そのセッションを終える |
| UU Remote、画面共有などのリモートツール | Mac に接続できる状態を保つ | 切断するか終了する |
バックアップや同期のアプリ、bird |
処理が実行中 | 終わるのを待つか、一時停止する |
powerd |
自身の記録。ディスプレイがオンのときが多い | ほかの行を先に確認する |
pmset -g に SleepDisabled 1 |
Mac 全体でスリープがオフ | 下記を参照 |
設定も関係します。システム設定 › バッテリー › オプション を開いて、電源アダプタ使用時はディスプレイがオフのときに自動でスリープさせない を確認してください。同じページの ネットワークアクセスによるスリープ解除 は、共有リソースに応えるために Mac が起きるかどうかを決めます。スリープさせた直後に Mac が起きるなら、周辺機器がよくある原因なので、USB 機器とハブを外してもう一度試してください。
スリープが完全にオフのとき
pmset -g には SleepDisabled という行があります。これが 1 のときは、メニューからでも、蓋を閉じても、Mac はスリープしません。スリープ防止ツールは、蓋を閉じたまま動かすためにこれを設定し、ツールが止まれば元に戻るはずです。まずそれらのツールを終了してください。それでも 1 のままで、何も必要としていないなら、次を実行します。
sudo pmset -a disablesleep 0
どのツールが設定したか分からないときは、再起動してください。
蓋を閉じても動いている
外部ディスプレイ、電源、キーボードやマウスをつないだノート Mac は、蓋を閉じたままでも動作します。これはクラムシェルモードで意図された動作なので、ディスプレイを外して試してください。MacBook がバッグの中で熱くなっているなら、そのままにしないでください。開いて上のコマンドを実行し、プロセスを見つけます。ツールによっては、蓋を閉じても意図的に Mac を起こし続けるものがあります。
やってはいけないこと
- 最初に SMC や NVRAM をリセットしないでください。ほとんどは実行中の一つのプロセスが原因で、上のコマンドなら数秒で済みます。
- フォーラムで見かけた
pmsetの変更を、むやみに試さないでください。再起動後も残り、忘れやすいものです。pmset -g customで設定内容を確認でき、sudo pmset restoredefaultsで元に戻せます。 - これを直すために
sleepimageを削除しないでください。そのファイルはMac を起こし続けているものではありません。 - バッグの中で熱くなった MacBook を放置しないでください。取り出して冷ますのが先です。
Mole でできること
Mole の ステータス で、プロセスのメニューにある なぜ実行中? は同じアサーションを読み取り、そのプロセスが Mac を起こし続けているときは「現在スリープを妨げています。」と表示します。一つのアプリを疑い始めたときに役立ちます。一覧を一度に見るなら、pmset -g assertions のほうがまだ早いです。Mole 自身の 画面オン維持 も、意図的にアサーションを保持するツールの一つで、蓋を閉じた状態も含む標準のモードでは disablesleep を使い、セッションが終わると元に戻します。このページとは逆のことをしたいなら、バッテリーを消耗させずに Mac を起こしておく方法を見てください。一晩でバッテリーが減るなら、MacBook のバッテリーの減りが速い理由を見てください。
よくある質問
Mac がスリープしないのはなぜですか?
たいていは、メディア、リモートアクセスツール、スリープ防止アプリなど、あるプロセスが電源アサーションを保持しています。pmset -g assertions でその名前が分かります。
Mac のスリープを妨げているものを確認するには?
ターミナルで pmset -g assertions を実行し、プロセス名が出ている PreventUserIdleSystemSleep と PreventSystemSleep の行を読みます。
スリープした直後に Mac が起きるのはなぜですか?
周辺機器とネットワークによるスリープ解除がよくある原因です。USB 機器を外し、システム設定 › バッテリー › オプション の ネットワークアクセスによるスリープ解除 を確認してください。
coreaudiod がスリープを妨げているのは何ですか?
何かがオーディオを開いています。一時停止中でも、ブラウザのタブや音楽アプリであることがよくあります。それを閉じればアサーションは消えるはずです。
SleepDisabled とは何ですか?
Mac 全体でスリープがオフになっています。たいていはスリープ防止ツールが原因です。そのツールを終了してください。1 のままなら、sudo pmset -a disablesleep 0 を実行します。