Appleシリコン搭載Macでスリープが勝手に解除される問題と対策

Appleシリコン搭載Macでスリープが勝手に解除される問題と対策

Appleシリコン搭載Macでスリープが勝手に解除される問題と対策

Appleシリコン(M1、M2、M3など)を搭載したMacを使用していると、スリープにしたはずの本体が意図せず起動してしまうことがあります。例えば、夜に「スリープ」操作をしたのに、ふと気づくとディスプレイが点灯していたり、クラムシェル状態(蓋を閉じた状態)でも接続しているUSBハブのランプがアクティブになっていたり……。
このように「勝手にスリープが解除される」症状にお困りの方へ、いくつかの対処法をまとめてみました。

目次

なぜ勝手にスリープが解除されるのか?

Appleシリコン搭載Macでスリープが解除される原因には、以下のようなものが考えられます。

  1. ネットワーク関連の機能が動作している
    「Find My Mac(探す)」機能やPower Napなど、スリープ中でもネットワークアクセスを行う機能が動作している場合、Macはタイミングによってスリープ解除されることがあります。
  2. Bluetooth機器などの周辺機器からの入力
    マウスやキーボード、トラックパッドなどのBluetoothデバイスがスリープを解除してしまうことがあります。「System Settings(システム設定)」>「Bluetooth」あるいは「アクセシビリティ」などの項目で設定を見直す必要があるケースがあります。
  3. OS内部で行われる省エネルギー機能の管理
    macOSがバックグラウンドで行うシステムメンテナンス、バックアップ、メール受信などで、わずかにスリープ状態が解除されることがあります。AppleシリコンでもIntel時代の「Power Nap」相当の設定が影響していることがあります。

簡単に対処できるコマンド

「スリープにしたはずなのに、なぜか勝手に起きてしまう」という症状に対して、特に有効なのが以下2つのTerminalコマンドです。アプリケーションフォルダから「ターミナル」を起動し、1行ずつ実行します。

sudo pmset -a tcpkeepalive 0
sudo pmset -a powernap 0

注意点
これらのコマンドはスリープ中のネットワーク接続やバックグラウンド処理を制限するため、「探す(Find My Mac)」機能やTime Machineの自動バックアップ、メール受信などがスリープ中に行われなくなる可能性があります
特に、Macを紛失した場合に位置を特定できなくなる恐れがあるため、常時オフにせず、必要なときだけオン・オフを切り替える使い方をおすすめします。

  1. sudo pmset -a tcpkeepalive 0
    • Find My Mac(探す)などの機能で位置情報を伝えるために、ネットワーク通信がスリープ中でも動作する場合があります。
    • tcpkeepaliveを0(オフ)にすることで、スリープ中のネットワーク維持を停止させ、予期せぬスリープ解除を抑制できます。
  2. sudo pmset -a powernap 0
    • Intel Mac時代から存在する「Power Nap」という機能をオフにします。
    • Appleシリコンではより高度な省電力アーキテクチャが導入されているため、厳密にはIntel時代とは動作が異なりますが、macOSの設定上、この項目がオンになっているとスリープ状態を維持できないケースがあります。

なお、上記コマンドのパラメータを「1」に変更することで、再びオンに戻すことが可能です。

# 元に戻したいとき
sudo pmset -a tcpkeepalive 1
sudo pmset -a powernap 1

そのほかの確認・対処方法

Bluetoothでのスリープ解除を防ぐ

Bluetoothマウスやキーボードを動かしただけでスリープが解除されるのを防ぎたい場合は、以下を確認してみてください。

  • システム設定>Bluetooth
    • 使っていないBluetooth機器がペアリングされていないか確認。
    • 「アクセシビリティ」>「ポインタコントロール」などで、デバイスがスリープ解除のトリガーになっていないか設定をチェック。
  • 以前のmacOS (例: MontereyやBig Sur) の場合
    • 「システム環境設定>省エネルギー>Bluetooth機器でこのMacのスリープを解除する」をオフにする。

ネットワークアクセスで起動する設定をオフにする

pmset -a tcpkeepalive 0を実行しても改善しない場合は、「System Settings(システム設定)」>「ネットワーク」>「詳細設定」などにある「Wake for network access(ネットワークアクセスによるスリープ解除)」系のチェックがオンになっていないかを確認し、オフにする方法があります。

スケジュールやソフトウェアの影響を確認

  • スケジュール機能
    「システム設定>バッテリー>スケジュール」あるいは「システム環境設定>省エネルギー>スケジュール」が有効になっている場合、指定時刻に自動起動・スリープを行う設定があるかもしれません。不要ならオフにしましょう。
  • バックアップや自動アップデート
    Time Machineやソフトウェア・アップデートが深夜などに動いている場合も、スリープが解除される可能性があります。自動バックアップのタイミングを変えてみるのも一つの手です。

起動ログを調べて原因を特定する

コマンドラインに慣れている方は、以下のコマンドで起動(Wake)の理由を調べることができます。

pmset -g log | grep "Wake reason"

このログに「TCPKeepAlive」や「EC.SleepTimer」などの文字列が記録されていれば、上記の対策が有効となる可能性が高いです。

まとめ

Appleシリコン搭載Macで、スリープが勝手に解除される問題に頭を悩ませている場合、まずは以下の2行を試してみてください。

sudo pmset -a tcpkeepalive 0
sudo pmset -a powernap 0

これだけで症状が大幅に改善する方も多いはずです。加えて、Bluetooth機器の設定やネットワーク関連の設定などもあわせて見直すことで、ほぼ問題なくスリープが維持できるようになります。もしオンに戻したい場合は、コマンドの末尾を「1」に変えて再入力するだけで元に戻せます。

日々の作業をスムーズに進めるうえで「スリープを確実に維持できる」ことは地味に大切です。少しでも快適なMacライフの手助けになれば幸いです。

【バージョン別】macOSでDNSキャッシュをクリア(削除)する方法

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次