最近のノートPCは「モダンスタンバイ」あるいは「スタンバイ (S0低電力)」という、CPU はS0(非スリープ)だが低消費電力で動き続けるという仕様になっている。これに伴ってか、スリープから時間が経過すると休止(ハイバネート)状態になるハイブリッドスリープをユーザ側でオフにできないらしい。

がいろいろ試した結果この挙動をある程度制御できることがわかった。

powercfg

コントロールパネルの電源オプションはコマンドラインからだと powercfg というコマンドで設定できる。上の画像はデスクトップPCの電源オプションで、「次の時間が経過後休止状態にする」という項目が表示されているが、ノートPCだと表示されないことがある。

powercfg で設定状況をすべて表示するには以下のようにする。

powercfg /q

HIBERNATEIDLE

休止状態に入るまでの時間は HIBERNATEIDLEという項目に設定されている。

単位秒 0x12c (300) がDC電源だとデフォルトだった。AC電源だと0で、休止に入らない設定になっていた。

48時間に設定する

powercfg -setdcvalueindex  381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 9d7815a6-7ee4-497e-8888-515a05f02364 172800

デフォルトに戻す場合 (5分で休止)

powercfg -setdcvalueindex  381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 9d7815a6-7ee4-497e-8888-515a05f02364 300

この設定をしていても、バッテリー残量が規定量減ると別途休止に入る制御が入っているようだが、ここからは特に設定が見えないのでよくわからない。

  1. トップ
  2. tech
  3. モダンスタンバイ環境のハイブリッドスリープを制御する
▲ この日のエントリ