ノート PC (Chuwi MiniBookX N150) でスリープ時に電池を食うので見直した電源オプション設定

Chuwi MiniBookX という Windows 11 Home のノート PC を持ち歩くようになった。

「電源オプション」より「カバーを閉じた時の動作」として「スリープ」を選択しておいたので、フタを閉じればスリープになっているだろうと思ったところ、翌日 PC を開いてみたらバッテリー残量がほとんどなくなっていた。よくよく見ると、カバーを閉じた状態でも本体側面の電源 LED が光ったままだった。どうも「スリープ」が自分の想定しているような「省電力待機」の挙動じゃないっぽい?

ということで ChatGPT 大先生に聞きながら設定を見直した。期待動作としては以下のとおり。

結論から先に書くと、僕が望んでいるこの挙動は、ノート PC においては「スリープ」ではなく「休止状態」に突入させる方が正確なようだった。ということで、バッテリー駆動時に電源ボタン・スリープボタンを押した時、カバーを閉じた時は「休止状態」に入るようにし、電源に接続している間は3つの場合とも「スリープ」に突入させるように設定した。デスクトップ PC での「スリープ」とは、ノート PC ではちょっと感覚違うようで勉強になった。

ChatGPT に聞いてた過程で教えてもらった PowerShell コマンドを載せておく。

PS> powercfg /a
以下のスリープ状態がこのシステムで利用可能です:
    スタンバイ (S0 低電力アイドル) ネットワークに接続されています
    休止状態

以下のスリープ状態はこのシステムでは利用できません:
    スタンバイ (S1)
        システム ファームウェアはこのスタンバイ状態をサポートしていません。
        S0 低消費電力アイドルがサポートされている場合、このスタンバイ状態は無効です。

    スタンバイ (S2)
        システム ファームウェアはこのスタンバイ状態をサポートしていません。
        S0 低消費電力アイドルがサポートされている場合、このスタンバイ状態は無効です。

    スタンバイ (S3)
        S0 低消費電力アイドルがサポートされている場合、このスタンバイ状態は無効です。

    ハイブリッド スリープ
        スタンバイ (S3) は使用できません。
        ハイパーバイザーはこのスタンバイ状態をサポートしていません。

    高速スタートアップ
        現在のシステム ポリシーでは、この操作は無効になっています。

コレを見ると自分の PC は S0 = Modern Standby が有効になっていた。このモードはスマホの画面を消した状態に近くて、内部では通信などが維持されているため、全く省電力ではなく、バッテリー消費も激しいし、なんならマシンの発熱も起こりうる。

PS> powercfg /query SCHEME_CURRENT SUB_BUTTONS
電源設定の GUID: 00000000-0000-0000-0000-000000000000  (バランス)
  GUID エイリアス: SCHEME_BALANCED
  サブグループの GUID: 00000000-0000-0000-0000-000000000000  (電源ボタンとカバー)
    GUID エイリアス: SUB_BUTTONS
    電源設定の GUID: 00000000-0000-0000-0000-000000000000  ([スタート] メニューの電源ボタンの操作)
      GUID エイリアス: UIBUTTON_ACTION
      利用可能な設定のインデックス: 000
      利用可能な設定のフレンドリ名: スリープ
      利用可能な設定のインデックス: 001
      利用可能な設定のフレンドリ名: 休止状態
      利用可能な設定のインデックス: 002
      利用可能な設定のフレンドリ名: シャットダウン
    現在の AC 電源設定のインデックス: 0x00000000
    現在の DC 電源設定のインデックス: 0x00000000
PS> powercfg /lastwake
スリープ状態の解除履歴カウント - 1
スリープ状態の解除履歴 [0]
  スリープ状態の解除元カウント - 0
PS> powercfg /waketimers
システムにアクティブなスリープ解除タイマーがありません。
PS> powercfg /devicequery wake_armed
NONE
PS> powercfg /sleepstudy
スリープ検査レポートがファイル パス C:\PATH\TO\sleepstudy-report.html に保存されました。

最後の SleepStudy レポートというのが有用で、直近の電源 ON・OFF やスリープ移行などの操作ログ、その時点のバッテリー残量などが HTML ファイルに出力される。

コレを見ると、自分が「スリープ」のつもりでカバーを閉じた時の動作は「Screen Off」と記録されていて、つまりほとんどマシン付けっぱなしと変わらない状態で一日放置していたことが分かった。

電源オプションで「スリープ」ではなく「休止状態」を選んだ後にレポートを見てみると、カバーを閉じた時の動作は「Hibernate」と記録されており、コレで無事余計な電池の消耗もなくなり、一日置いてもバッテリー残量はほぼ減っていないことが確認できた。