Macでスリープからの復帰時に問題が発生して再起動してしまう場合

macOS Catalinaにおいてサブで使用しているMacBook Pro 13 Mid 2019がかなりの確率でスリープからの復帰時に「問題が発生したため再起動しました」というクラッシュレポートが表示され、スリープ中あるいはスリープからの復帰の際にKernel Panicや予期せぬシステムのクラッシュが発生していると思われる現象に遭遇した。

ここではMacがスリープからの復帰時に再起動(システムクラッシュ・Kernel Panic)が発生する際の対処法をまとめる。

省エネルギー設定を見直す

まずシステム環境設定の「省エネルギー」の項目で「バッテリー」「電源アダプタ」両方において「可能な場合はハードディスクをスリープさせる」、「電源アダプタに接続中にPower Napをオンにする(バッテリー電源使用時にPower Napをオンにする)」のチェックを両方とも外してオフにしてみよう。

ちなみにバッテリー駆動ではないMac miniやiMacなどのMacでは「バッテリー」や「電源アダプタ」などのはタブはない。

これらの設定をオフにするとスリープ中のメールのチェックやiCloudのアップデートが自動で行われなくなる弊害があるが、スリープ中のKernel Panicやクラッシュが解消される場合がある。

ターミナルコマンドでスタンバイをオフにする

省エネルギー設定を変更しても改善されない場合、ターミナルで下記のコマンドを実行して「スタンバイ」をオフにしてみよう。

sudo pmset -a standby 0

パスワードの入力を求められたら管理者パスワードを入力してエンターキーを押そう。

このコマンドによってMacのスタンバイが無効になるが、スリープ自体はきちんと動作する。

ただし、この設定を行うとMacのスリープが中途半端になってしまい、バッテリー使用時にスリープした際、Macがいわゆる「深い眠り」に入らず、バッテリー消費量が増える可能性がある点に注意。

なお、元に戻すには下記コマンドを実行する。

sudo pmset -a standby 1

電源設定関係をリセット

下記のコマンドを実行することでほぼ「SMCのリセット」と同様の効果が得られる。

sudo pmset -a restoredefaults

パスワードの入力を求められたら管理者パスワードを入力してエンターキー。

「Restored Default settings」という表示が出ればリセット成功。

これによりMacBookなどの省エネルギー設定など、電源関係の設定は全てデフォルトに戻り、問題が解決することがある。

SMCのリセット

スリープからの復帰時の問題はNVRAMというよりはSMCに問題があることが多いので、前述の「電源設定関係をリセット」のターミナルコマンドを実行して、更に下記の手順でSMCを完全にリセットする。

SMCのリセット手順

T2チップを搭載したノート型Macであれば下記の手順でSMCをリセットする。

  1. Macをシステム終了する。
  2. 内蔵キーボードで、以下のキーをすべて長押しする。場合によっては、Macの電源が入る。
    • キーボードの左側の「control 」キー
    • キーボードの左側の「option (Alt) 」キー
    • キーボードの右側の「shift 」キー
  3. 上記3つのすべてのキーを7秒間押し続け、電源ボタンも長押しする。Macの電源が入っている場合は、キーを押し続けている間に電源が切れる。
  4. 4つすべてのキーをさらに7秒押し続けてから、指を放す。
  5. 数秒待ってから、電源ボタンを押してMacの電源を入れる。

デスクトップコンピュータの場合は下記の手順でSMCをリセットする。

  1. Macをシステム終了し、電源コードを外ず。
  2. 15秒待ってから、電源コードを接続し直しす。
  3. 5秒待ってから、電源ボタンを押してMacの電源を入れる。

T2チップ非搭載のMacの場合は下記のAppleサポートページを参考にして頂きたい。

参考 Mac の SMC をリセットする方法Apple

電源アダプタ接続中のスリープの際に電源アダプタを外さない

もしMacBookシリーズなどを使用しているなら、電源アダプタ(USB-CやMagSafe)を接続してスリープ状態にあるMacBookの電源は外さないように注意しよう。

僕の環境では電源アダプタが接続された状態でスリープになっているMacBook Proから電源アダプタを外してスリープから復帰させると高確率でクラッシュが起きることを確認している。

この現象はmacOS Catalina以前では経験していないため、macOS Catalinaの不具合であると考えられる。

もし電源アダプタを外したい場合は電源アダプタを接続したままスリープから復帰させ、正常にMacがスリープから復帰したのを確認した後に電源アダプタを外すようにしよう。

まとめ

僕の場合は上記の省エネルギー設定の見直しとターミナルによる電源設定のリセット、及びSMCのリセットの3点を実行したところ、まだ数日ではあるが今のところKernel Panicなどのクラッシュは起きていない。

どうもmacOS Catalinaはスリープ関連に不具合があるようで検索すると世界中でこの問題が報告されている。

macOS Catalinaでこの問題が発生している場合、十中八九macOS Catalinaのバグであると思われるため、当面は上記の対処法で凌いで次期アップデートでの修正を待つしかない。

ちなみに上記対処法はmacOS Catalinaでなくとも有効なため、macOS Catalina以外のmacOSでも同様の問題が発生したら試してほしい。