システムの電源状態
ユーザーには、コンピューター システムがオンまたはオフのいずれかであるように見えます。 他に検出可能な状態はありません。 ただし、システムでは、Advanced Configuration and Power Interface (ACPI) 仕様で定義されている電源状態に対応する複数の電源状態がサポートされています。 ハイブリッド スリープや高速起動など、これらの状態にもバリエーションがあります。 この記事では、これらの状態について説明し、それらが相互にどのように関連しているかを説明します。
注意
システム サービスを使用してドライバーまたはアプリケーションを作成するシステム インテグレーターと開発者は、メモリ リークなどのドライバー品質の問題に特に注意する必要があります。 ドライバーの品質は常に重要ですが、カーネル、ドライバー、およびサービスは、ユーザーが開始したスリープとシャットダウンでは、再開始されずに保持および復元されるため、カーネルの再起動間の時間は以前のバージョンの OS よりも大幅に長くなる可能性があります。
次の表に、ACPI の電力の状態を最高から最低の電力消費量に一覧表示します。
電源状態 | ACPI の状態 | 説明 |
---|---|---|
動作中 | S0 | システムは完全に使用可能です。 使用されていないハードウェア コンポーネントは、より低い電力状態に入ることで電力を節約できます。 |
スリープ (モダン スタンバイ) | S0 低電力アイドル状態 | 一部の SoC システムでは、 モダン スタンバイと呼ばれる低電力アイドル状態がサポートされています。 この状態では、システムは、ハードウェアおよびネットワーク イベントに応答して、低電力状態から高電力状態に非常に迅速に切り替えることができます。 モダン スタンバイをサポートするシステムでは 、S1 から S3 は使用されません。 |
Sleep |
S1 S2 S3 |
システムがオフになっているように見えます。
状態 S1 から S3 で消費される電力の量が S0 未満で、S4 を超えています。
S3 は S2 よりも消費する電力が少なく、 S2 は S1 よりも消費電力が少なくなります。 システムは通常、これら 3 つの状態のいずれか 1 つをサポートしますが、3 つすべてがサポートされているわけではありません。 状態 S1 から S3 では、揮発性メモリはシステム状態を維持するために更新されたままになります。 コンピューターがキーボード、LAN、または USB デバイスからの入力から復帰できるように、一部のコンポーネントは電源を入れたままです。 デスクトップで使用されるハイブリッド スリープは、システムが S1-S3 を含む休止状態ファイルを使用する場所です。 休止状態ファイルは、スリープ中にシステムが電源を失った場合に備え、システムの状態を保存します。 メモ: モダン スタンバイをサポートする SoC システムでは 、S1 から S3 は使用されません。 |
休止状態 | S4 | システムがオフになっているように見えます。 消費電力が最も低いレベルに削減されます。 システムは、揮発性メモリの内容を休止状態ファイルに保存して、システムの状態を維持します。 コンピューターがキーボード、LAN、または USB デバイスからの入力から復帰できるように、一部のコンポーネントは電源を入れたままです。 作業中のコンテキストは、不揮発性メディアに格納されている場合に復元できます。 高速スタートアップ は、休止状態ファイルが作成される前にユーザーがログオフされる場所です。 これにより、より小さな休止状態ファイルが可能になります。ストレージ機能が少ないシステムに適しています。 |
ソフト オフ | S5 | システムがオフになっているように見えます。 この状態は、完全なシャットダウンとブート サイクルで構成されます。 |
機械的なオフ | G3 | システムは完全にオフであり、電力を消費しません。 システムは、完全な再起動後にのみ動作状態に戻ります。 |
SYSTEM_POWER_STATE列挙は、システムの電源状態を指定するために使用される値を定義します。
動作状態: S0
動作状態の間、システムは起動し、実行中です。 簡単に言うと、デバイスは オンです。 画面がオンかオフかに関係なく、デバイスは完全に実行中の状態です。 特にバッテリ駆動のデバイスでは、エネルギーを節約するために、ハードウェア コンポーネントを使用していないときに電源をオフにすることをお勧めします。
重要
状態に関係なく、使用されていない場合は常にハードウェア コンポーネントの電源を切ります。 低消費電力は、モバイル デバイス コンシューマーにとって重要な考慮事項です。
スリープ状態: モダン スタンバイ
動作状態の S0 低電力アイドル モード ( モダン スタンバイとも呼ばれます) では、システムは部分的に実行されたままです。 モダン スタンバイ中は、適切なネットワークが使用可能な場合は常にシステムを最新の状態に保ち、OS のメンテナンスなどのリアルタイムアクションが必要な場合はスリープ解除することもできます。 モダン スタンバイは 、S1 から S3 よりも大幅に高速にスリープ解除されます。 詳細については、「 モダン スタンバイ」を参照してください。
注意
モダン スタンバイは、一部の SoC システムでのみ使用できます。 サポートされている場合、システムは S1 から S3 をサポートしません。
注意事項
Modern Standaby 対応システムでは、S3 wake-on-LAN (WoL) を有効にしないでください。 マジック パケットを使用したコンピューターのスリープ解除は、モダン スタンバイでネイティブにサポートされています。 レガシ S3 WoL を有効にする必要はありません。ネットワーク上で DHCP や DNS パケット ストームが発生する可能性があります。
スリープ状態: S1 から S3
システムは、ユーザーまたはアプリケーションのアクティビティや設定アプリの[電源&スリープ] ページでユーザーが設定した基本設定など、さまざまな条件に基づいてスリープ状態に入ります。 既定では、システムでは、有効になっているすべてのウェイクアップ デバイスでサポートされている最も低い電源のスリープ状態が使用されます。 システムがスリープを入力するタイミングを決定する方法の詳細については、「 システム スリープ条件」を参照してください。
システムはスリープ状態に入る前に、適切なスリープ状態を決定し、保留中の遷移をアプリケーションとドライバーに通知してから、システムをスリープ状態に移行します。 重大なバッテリーしきい値に達したときなど、重大な移行の場合、システムはアプリケーションとドライバーに通知しません。 これに備えてアプリケーションを準備し、システムが動作状態に戻ったときに適切なアクションを実行する必要があります。
S1-S3 状態では、揮発性メモリはシステム状態を維持するために更新されたままになります。 コンピューターがキーボード、LAN、または USB デバイスからの入力から復帰できるように、一部のコンポーネントは電源を入れたままです。
また、システムは、ユーザー アクティビティまたはアプリケーションによって定義されたウェイクアップ イベントに応答してスリープ状態から復帰します。 詳細については、「 システム ウェイクアップ イベント」を参照してください。 システムのスリープ解除にかかる時間は、スリープ状態によって異なります。 システムは、ハードウェアが実行する必要がある余分な作業のために、電源の高い状態 (S1) よりも低電力状態 (S3) から復帰するのに時間がかかります。 たとえば、電源の安定化やプロセッサの再初期化などです。
注意事項
SetThreadExecutionState を呼び出すとき、この値は、ES_AWAYMODE_REQUIRED
システムがスリープ状態にあるように見える間にテレビコンテンツやストリーミング メディアを他のデバイスに記録するなど、バックグラウンド タスクを実行する必要があるメディア アプリケーションで絶対に必要な場合にのみ使用する必要があります。 重要なバックグラウンド処理を必要としない、またはポータブル コンピューターで実行されるアプリケーションは、システムが真のスリープ状態に入ることで電力を節約できないため、離れたモードを有効にしないでください。
ハイブリッド スリープ: S1-S3 + 休止状態ファイル
ハイブリッド スリープ は、スリープ状態と休止状態の組み合わせである特別な状態です。 これは、システムが S1-S3 で休止状態ファイルを使用する場合です。 ハイブリッド スリープは、一部のシステムでのみ使用できます。 有効にすると、システムは休止状態ファイルを書き込みますが、より高い電源のスリープ状態になります。 システムのスリープ中に電源が失われた場合、システムは休止状態から復帰します。これは時間がかかりますが、ユーザーのシステム状態を復元します。
休止状態: S4
Windows は休止状態を使用して、高速なスタートアップ エクスペリエンスを提供します。 利用可能な場合は、システムをシャットダウンする前にすべてのユーザーの状態を保存するメカニズムを提供することで、システムの使用可能なバッテリ寿命を延ばすためにモバイル デバイスでも使用されます。 休止状態の遷移では、メモリのすべての内容がプライマリ システム ドライブ ( 休止状態ファイル) 上のファイルに書き込まれます。 これにより、オペレーティング システム、アプリケーション、およびデバイスの状態が保持されます。 結合されたメモリ 占有領域がすべての物理メモリを消費する場合、休止状態ファイルは、物理メモリのすべての内容を保存する領域を確保するのに十分な大きさにする必要があります。 データは不揮発性ストレージに書き込まれるため、DRAM は自己更新を維持する必要がないため、電源をオフにできます。つまり、休止状態の消費電力は非常に少なく、電源オフとほぼ同じです。
完全なシャットダウンとブート (S5) 中、ユーザー セッション全体が破棄され、次の起動時に再起動されます。 これに対し、休止状態 (S4) 中は、ユーザー セッションが閉じられ、ユーザーの状態が保存されます。
高速起動: 休止状態ファイルの削減
高速スタートアップ は、休止状態ファイルを使用して後続のブートを高速化するシャットダウンの一種です。 この種類のシャットダウン中、休止状態ファイルが作成される前にユーザーはログオフされます。 高速起動により、より小さな休止状態ファイルが可能になります。ストレージ機能が少ないシステムに適しています。 詳細については、「 Hibernation ファイルの種類」を参照してください。
高速スタートアップを使用すると、システムが実際に S4 を経由している場合でも、システムは完全シャットダウン (S5) が発生したかのようにユーザーに表示されます。 これには、システムがデバイスのウェイク アラームに応答する方法が含まれます。
高速スタートアップはユーザー セッションをログオフしますが、カーネル (セッション 0) の内容はハード ディスクに書き込まれます。 これにより、より高速な起動が可能になります。
高速スタートアップ スタイルのシャットダウンをプログラムで開始するには、フラグを指定して InitiateShutdown 関数を呼び出すか、 フラグを SHUTDOWN_HYBRID
指定して ExitWindowsEx 関数を EWX_HYBRID_SHUTDOWN
呼び出します。
注意
Windows では、システムのシャットダウンが要求されたときに、高速スタートアップが既定の切り替えです。 完全シャットダウン (S5) は、システムの再起動が要求されたとき、またはアプリケーションがシャットダウン API を呼び出すときに発生します。
休止状態の入力
休止状態の要求が行われると、システムが休止状態になると、次の手順が実行されます。
- アプリとサービスが通知される
- ドライバーに通知される
- ユーザーとシステムの状態が圧縮形式でディスクに保存される
- ファームウェアが通知される
注意
システム上のすべてのコアを使用して、メモリ内のデータを圧縮し、ディスクに書き込みます。
プログラムによって休止状態遷移を開始するには、 SetSuspendState 関数を呼び出します。
休止状態からの再開
システムが休止状態から再開されたとき。
システムの電源をオンにすると、システムが休止状態から再開すると、次の手順が実行されます。
- System POST
- システム メモリが圧縮解除され、休止状態ファイルから復元される
- デバイスの初期化
- ドライバーは休止前の状態に復元されます
- サービスは休止前の状態に復元されます
- システムがログインに使用できるようになります
休止状態からの再開は、S5 シャットダウンに似たシステム POST から始まります。 OS ブート マネージャーは、有効な休止状態ファイルを検出することによって、休止状態からの再開が必要であると判断します。 次に、システムに再開を指示し、メモリとすべてのアーキテクチャ レジスタの内容を復元します。 休止状態からの再開の場合、システム メモリの内容はディスクから読み取り戻され、圧縮解除され、復元されます。これにより、システムは休止状態にあった正確な状態になります。 メモリが復元されると、デバイスが再び起動され、マシンは実行中の状態に戻り、ログインの準備が整います。
注意
休止状態からの再開中は、ドライバーとサービスに通知されますが、再起動されません。 休止前の状態にのみ復元されます。
休止状態ファイルの種類
休止状態ファイルは、ハイブリッド スリープ、高速起動、 標準休止状態に使用されます。 サイズによって区別される 2 種類があり、完全なサイズと縮小されたサイズの休止状態ファイルです。 短縮休止状態ファイルを使用できるのは高速スタートアップのみです。
休止状態ファイルの種類 | 既定サイズ | サポート。。。 |
---|---|---|
[完全] | 物理メモリの 40% | 休止状態、ハイブリッド スリープ、高速起動 |
削減 | 物理メモリの 20% | 高速スタートアップ |
使用する休止状態ファイルの種類を確認または変更するには、 powercfg.exe ユーティリティを実行します。 次の例では、その方法を示します。 詳細を確認するには、powercfg /? hibernate
を実行してください。
例 | 説明 |
---|---|
powercfg /a |
休止状態ファイルの種類を確認します。 完全な休止状態ファイルを使用すると、結果は休止状態が使用可能なオプションであることを示します。 縮小された休止状態ファイルを使用すると、休止状態がサポートされていないという結果が表示されます。 システムに休止状態ファイルがまったくない場合は、休止状態が有効になっていないという結果が表示されます。 |
powercfg /h /type full |
休止状態ファイルの種類を full に変更します。 これは、ストレージが 32 GB 未満のシステムでは推奨されません。 |
powercfg /h /type reduced |
休止状態ファイルの種類を [縮小] に変更します。 コマンドが "パラメーターが正しくありません" を返す場合は、次の例を参照してください。 |
powercfg /h /size 0 powercfg /h /type reduced |
休止状態ファイルの種類を縮小に変更し直してください。 休止状態ファイルが 40% を超えるカスタム サイズに設定されている場合は、最初にファイルのサイズを 0 に設定する必要があります。 その後、制限された構成を再試行します。 |
ソフト オフ状態: S5
ソフト オフ状態は、休止状態ファイルなしでシステムが完全にシャットダウンされたときです。 ソフトオフは 完全シャットダウンとも呼ばれます。 完全なシャットダウンと起動中は、ユーザー セッション全体が切断され、次の起動時に再起動されます。 その結果、この状態からのブート/スタートアップには、S1 から S4 より大幅に長い時間がかかります。 完全シャットダウン (S5) は、システムの再起動が要求されたとき、またはアプリケーションがシャットダウン API を呼び出すときに発生します。
機械的なオフ状態: G3
この状態では、システムは完全にオフになり、電力を消費しません。 システムは、完全な再起動後にのみ動作状態に戻ります。
Wake-on-LAN の動作
Wake-on-LAN (WOL) 機能は、ネットワーク アダプターが WOL イベント (通常は特別に構築されたイーサネット パケット) を検出すると、低電力状態からコンピューターをスリープ解除します。
WOL は 、S3 スリープまたは S4 休止状態からサポートされています。 高速スタートアップまたは S5 ソフトオフ シャットダウン状態からはサポートされていません。 NIC は、ユーザーが自分のシステムが自分でウェイクアップすることを期待していないため、これらの状態ではウェイクに対応していません。
注意
WOL は 、S5 ソフト オフ状態から正式にはサポートされていません。 ただし、一部のシステムの BIOS では、Windows がプロセスに関与していない場合でも、スリープ解除用の NIC の武装がサポートされる場合があります。