モダン スタンバイの SleepStudy

Windows 8.1 以降、ソフトウェア ツール SleepStudy が、モダン スタンバイ電源モデルを実装するすべての Windows PC のインボックス コンポーネントとして利用できるようになりました。 SleepStudy では、モダン スタンバイのパフォーマンスを最小限の影響で測定できます。 レポートの内容の詳細については後で説明します。

SleepStudy を使用して、予期しないバッテリー消耗の原因となっているコンポーネントを見つけて修正する方法については、こちらのビデオをご覧ください。

追跡自体が不必要なアクティビティとバッテリーの消耗を発生させる可能性があるため、モダン スタンバイ中のシステム アクティビティとバッテリーの消耗を追跡することは難しい場合があります。 たとえば、従来のディスクベースのログ記録には、ログ記録のためにディスクをアクティブにするとバッテリー使用量が過剰になるという、望ましくない副作用があります。 これに対し、SleepStudy ツールは、測定するモダン スタンバイのパフォーマンスに干渉する可能性があるアクティビティを生成しないように設計されています。

インストルメント化されたシステムを使用すると、モダン スタンバイ中の消費電力を最も精密に測定できます。これは、対象となるすべての主要ハードウェア サブシステムに電力測定リードを接続した物理システムです。 ただし多くの場合、エンジニアリング コストの都合上、ここまで精密なテストは実用的ではありませんし、顧客に販売済みのシステムは通常、この方法ではテストできません。

SleepStudy ツールは、モダン スタンバイ セッションごとの概要情報を提供します。 この情報にはアクティブ時間、アイドル時間、消費電力が含まれます。 セッションは、システムがモダン スタンバイ状態になると開始し、この状態でなくなると終了します。

SleepStudy は、各モダン スタンバイ セッション中に発生するアクティビティの原因に関する一次的な情報も提供します。 この機能を使用すると、実行時間の長いアクティビティを簡単に調査できます。

バッテリー情報: 各 SleepStudy レポートの最後には、システムのバッテリー構成に関する情報があります。 この情報には、名前と製造元に加えて、バッテリーのサイズと設計容量が含まれます。 バッテリーのサイズと設計容量は、モダン スタンバイのバッテリー寿命を予想するときに考慮されるため、SleepStudy にとって特に重要です。

容量比が 100% を超える場合もあります。 これは想定内であり、バッテリーの化学的性質が変化するにつれて時間と共に変動します。

SleepStudy の実行と結果の解釈について、詳しくは次のビデオをご覧ください。

SleepStudy の実行

SleepStudy ツールはコマンド プロンプト ウィンドウから実行され、簡単に使用できます。 SleepStudy は、読みやすい HTML レポートを出力します。

SleepStudy を実行するには、管理者としてコマンド プロンプト ウィンドウを開き、次のコマンドを入力します。

powercfg.exe /SleepStudy

このコマンドに応答して、組み込みの powercfg.exe コマンド ライン ツールにより、現在の作業ディレクトリに Sleepstudy-report.html という名前の HTML ファイルが作成されます。

詳細オプション

既定では、SleepStudy レポートの範囲は直近 3 日間のシステム操作です。 SleepStudy レポートの対象期間を変更するには、powercfg.exe ツールの /duration オプションを使用します。 このオプションでは、SleepStudy レポートに含める日数 (最大 28 日) を追加のパラメーターとして指定します。

たとえば、直近 7 日間のシステム操作の SleepStudy レポートを生成するには、管理者としてコマンド プロンプト ウィンドウを開き、次のコマンドを入力します。

powercfg /sleepstudy /duration 7

powercfg.exe の詳細については、「Powercfg のコマンド ライン オプション」を参照してください。

TShell をサポートする SleepStudy レポート

2004 よりも後のバージョンの Windows では、TShell をサポートするモバイル イメージに対して SleepStudy レポートを HTML として直接生成できます。 これを行うには、TShell に接続し、データ パーティション内の書き込み可能なディレクトリに移動して (例: "cd c:\data\")、"powercfg /sleepstudy" を実行します。 2004 以前のバージョンの Windows では、書き込み可能ディレクトリに移動した後、レポートを XML 形式で生成して HTML に変換するために次の手順が必要です。

  1. 次のコマンドを実行します。

    powercfg /sleepstudy /xml
    
  2. ローカル ディレクトリに生成された sleepstudy-report.xml をホスト コンピューターにコピーします。

  3. 次のコマンドを実行します。

    powercfg /sleepstudy /transformxml <path to sleepstudy-report.xml>
    

SleepStudy トレースは、10 分を超える画面オフ セッションに対してモバイルで自動的に生成され、直近 7 日間の情報が保持されます。 レポートの範囲は既定で直近の 3 日間ですが、"/duration" フラグを使用して延長できます。

レポートの詳細

モダン スタンバイ システムの Windows バージョン 2004 以降では、SleepStudy レポートは一連の状態変更 (主にアクティブ、画面オフ、スリープの各状態) としてまとめられます。 したがって、モダン スタンバイ セッション全体は、画面がオフになってから再びオンになるまでの一区切りとして定義されますが、SleepStudy レポートでは、これがさらに、システムの休止に費やされた時間 (画面オフ状態) と、システムの長期的な低電力状態 (スリープ状態) で費やされた時間に分けられます。 以前のリリースでは、モダン スタンバイ セッション全体の詳細のみを示します。

レポートの冒頭で状態ごとの概要が示され、ハイパーリンクから HTML レポート内の各状態の詳細セクションに移動できます。

SleepStudy レポートには次のものも含まれます。

  • ハードウェア プラットフォーム、そのオペレーティング システムのインストール、ファームウェア バージョンに関する静的構成情報。
  • 直近 72 時間の使用傾向のグラフィカル ビュー。
  • 各状態セグメントの概要テーブル。次のものが含まれます。
    • 開始時間、終了時間、期間。
    • 電源 (AC またはバッテリー電源)。
    • バッテリー消費電力と平均消費電力。
  • 画面オフ セッションには、追加の詳細情報が含まれます。
    • 概要テーブルに含まれている情報。
    • システムが休止からすぐにスリープに移行するのを妨げた阻害要因。
  • スリープ セッションには、追加の詳細情報が含まれます。
    • 概要テーブルに含まれている情報
    • モダン スタンバイ セッションで最もアクティブな 5 つのコンポーネント ("上位の違反項目")。 コンポーネントごとに示される情報には、コンポーネントの種類、名前、デバイス パス (該当する場合) が含まれます。
    • アイドル時間のヒストグラム チャート。
  • 設計容量やサイクル数など、システムのバッテリー構成に関する情報。

このトピックの残りの部分では、サンプルの SleepStudy レポート、レポートを解釈する方法、および、レポートに含まれる情報を理解する方法について説明します。

システム情報

すべての SleepStudy レポートは、システム名やファームウェア バージョンなどの基本的なシステム情報で始まります。 オペレーティング システム、ファームウェア、BIOS を変更すると、モダン スタンバイのバッテリー寿命に大きく影響する可能性があるため、この情報は不可欠です。

すべての SleepStudy レポートには、モダン スタンバイ期間を含むシステム使用状況のグラフィカル ビューが含まれています。

グラフは色分けされています。 緑、オレンジ、赤のセグメントは、それぞれ低、中、高のシステム アクティビティに対応します。

グラフに含まれる既定の期間は 3 日間です。

グラフは点線、実線、線なしのセグメントで構成され、それぞれ AC 電源、バッテリー電源、システム オフの期間を示します。 次のグラフ凡例は、各 SleepStudy レポートに含まれています。

集計情報

各 SleepStudy レポートには、レポートで評価されるモダン スタンバイ セッションの概要テーブルが含まれています。

概要テーブルの各行には、モダン スタンバイ セッションの 1 つの状態に関する情報が含まれます。 概要テーブルの行は、改善のために調査できるセッションを識別するために色分けされます。

色分け

Windows バージョン 2004 以降では、モダン スタンバイ セッションは [画面オフ][スリープ状態] に分かれており、SleepStudy レポートの行の色はいくつかの主要なルールに基づいています。

  1. セッションが 2 分未満の場合、詳細データは表示されません。
    • 画面オフ セッションの場合、ほとんどの画面オフ セッションは非常に短いと予想されるため、緑色になります。
    • スリープ セッションの場合、消耗度や DRIPS で費やされた時間に基づいてセッションの良し悪しを判断するための情報がないため、灰色になります。
  2. セッションが 2 分以上の場合、スリープ セッションと画面オフ セッションのどちらも、次の消耗度および DRIPS % しきい値に従って色分けされます。
    • スクリーンオフセッションの場合は、次のようになります。
      • 赤は、消耗率が 1 時間あたり 1% 以上であることを示します。
      • 黄色は、消耗率が 1 時間あたり 0.33 ~ 1% であることを示します
      • 緑はその他すべてのケースを示します
    • スリープセッションの場合は、次のようになります。
      • 赤は、DRIPS 率が 80% 未満または消耗率が 1 時間あたり 1% 以上であることを示します。
      • 黄色は、DRIPS 率が 80 ~ 94% であるか、消耗率が 1 時間あたり 0.33 ~ 1% であることを示します。
      • 緑はその他すべてのケースを示します
  3. 赤色で示された子の阻害要因がある場合、親のセッションも赤色になります。 子であるサード パーティの阻害要因は、明らかに問題がある場合は紫色になります。

設計上、一部のセッションはアクティブです (赤色の行)。 ただし、ほとんどのセッションは、低アクティビティかつ低電力 (緑) を反映していることを期待できます。 配色は、消耗が大きい可能性があるセッションを簡単に識別できるように設計されています。 長時間のセッション (数時間) について最も注意する必要があります。これらのセッションは、バッテリに最も影響を与えます。

従来の配色

20H1 よりも前では、各モダン スタンバイ セッション全体の色分けは、消耗率と DRIPS (最深実行時アイドル プラットフォーム状態) 率 (低電力の割合) の組み合わせに基づいています。 色は、消耗率と DRIPS 率のうちパフォーマンスが低いほうを基準に、次のルールに従って決定されます。

  • 赤は、次のうち少なくとも1つを示します。
    • DRIPS 率が 80% 未満。
    • 消耗率が 1 時間あたり 1% 以上。 (消耗率が 1 時間あたり 1% 以上の場合、モダン スタンバイのバッテリー寿命は最大で 4 日です。)
  • オレンジは、次のうち少なくとも1つを示します。
    • DRIPS 率が 80 ~ 94%。
    • 消耗率が 0.333 ~ 1%。 (消耗率が 0.333% 未満の場合、プラットフォームはモダン スタンバイ状態で 12 日以上のバッテリー寿命を達成します。)。
  • 緑はその他すべてのケースを示します。

消耗率の計算

SleepStudy では、プラットフォームのバッテリーおよび充電サブシステムによって提供される残り容量情報を使用して消耗率を計算します。 バッテリー容量 (ミリワット時) は、各 SleepStudy セッションの開始時と終了時に記録されます。 バッテリー容量情報は、プラットフォームによって、ACPI 名前空間のバッテリー デバイス オブジェクト配下の ACPI _BST 制御メソッドを通じて提供されます。

概要情報の一覧

概要テーブルには、次の基本情報が (左から右に) 含まれています。

  • セッション番号 (左列) は 1 から始まり、この期間中にレポートされるセッションごとに 1 ずつ増加します。 既定のレポート期間には直近 3 日間が含まれます。
  • START TIME は開始時間 (現地時間) で、YYYY-MM-DD HH:MM:SS 形式で示されます。 同じ日のセッションが追加されても、年月日の情報は繰り返されません。
  • DURATION はモダン スタンバイ セッションの期間 (時間:分:秒) です。 この期間は、画面オフに切り替わってから画面オンに切り替わるまでのおおよその期間に対応します。
  • ENERGY CHANGE は、消費された絶対ミリワット時間 (mWh) の数値と、バッテリーの前回の完全充電容量の相対的なパーセンテージを示します。 前の例の概要テーブルのセッション 6 で示しているように、残り容量の変化が発生しないセッションはハイフン (-) で示されます。
  • ENERGY CHANGE は、消費された絶対ミリワット時間 (mWh) の数値と、バッテリーの前回の完全充電容量の相対的なパーセンテージを示します。 前の例の概要テーブルのセッション 6 で示しているように、残り容量の変化が発生しないセッションはハイフン (-) で示されます。
  • ミリワット単位の変化率である CHANGE RATE と、AC (充電) または DC (ドレイン) 電源インジケーター。 変化率は、ENERGY CHANGE の値を DURATION の値で割って計算されます。
  • % LOW POWER STATE TIME は、DRIPS 率と (該当する場合の) ハードウェア DRIPS を、SoC が最低電力状態 (DRIPS) にある時間のパーセンテージとして示します。 ハードウェア DRIPS (その状態にある期間のパーセンテージの前に HW: を付けて表記) は、Intel および Qualcomm SoC ベースの Windows PC のみで使用できます。

全体で 10 分に満たないモダン スタンバイ セッションは、SleepStudy レポートで追跡されません。 モダン スタンバイのパフォーマンスを測定するには、セッションの全期間を 10 分より長くする必要があります。 実際のユーザー エクスペリエンスを反映するには、もっと長い期間 (1 時間以上) が必要です。

AC セッションのエネルギー変動は追跡されません (CHANGE RATE 下の Charge キーワードで示されます)。 この情報は、powercfg/energy コマンドで生成されるレポートなど、その他のレポートで収集されます。なぜなら、プラットフォームが AC 電源で駆動する場合に使用されるエネルギー ポリシーは、プラットフォームがバッテリー (DC) 電源で駆動する場合に使用されるポリシーとは異なっているからです。 一般に、これらのポリシーはあまり厳密ではなく、さまざまなユース ケースを考慮に入れています。 概要テーブルのすべての行は、SleepStudy レポートに表示されるセッションごとの詳細へのハイパーリンクです。

セッションの詳細

レポートの "セッションごとの詳細" セクションでは、まず、概要テーブルのセッション情報が再掲されます。

テーブルには、次の種類の違反項目が示されることがあります。

  • Fx デバイス。 Windows 電力フレームワーク (PoFx) のサポートを実装するドライバーを備えたデバイス。 通常、このタイプのデバイスは SoC 自体に組み込まれています。
  • アクティベーター。 モダン スリープ中に重要な処理を実行するために、システムをアクティブに保つことができるソフトウェア コンポーネント。 (前の例で、名前 BI はブローカー インフラストラクチャを識別します。これは、バックグラウンド タスクの実行を調整する Windows ソフトウェア コンポーネントです。)
  • ネットワーク。 ネットワーク サブシステム デバイスまたはコンポーネント。
  • プロセッサ。 有効になっているアクティベーターの外部で発生する CPU アクティブ時間。
  • PDC フェーズ。 モダン スタンバイに移行する、またはモダン スタンバイを終了するさまざまなフェーズで費やされる時間。最も当てはまるのは画面オフ状態です。 詳細については、「モダン スタンバイのためのソフトウェアの準備」を参照してください。
  • その他。 その他の追跡情報が含まれます。 たとえば、有効化されたアクティベーターの外部での CPU 使用率は、TYPE の下に Other として一覧表示されます。

"上位の違反項目" テーブルの各コンポーネントは、アクティビティ時間によって色分けされます。 10% を超えてビジーと判定された場合、行は赤色でハイライトされます。 5 ~ 10% でアクティブと判定されたコンポーネントは、オレンジ色になります。 それ以外の場合、コンポーネント行は緑色でハイライトされます。

終了理由

詳細情報セクションには、スリープ セッションと画面オフ セッションの終了理由も含まれます。

スリープと画面オフの終了理由

以下の終了理由は、システムが モダン スタンバイ (スリープまたは画面オフ) からアクティブに復帰できる理由です。

終了理由コード 終了理由
0 Unknown
1 電源ボタン
3 SC_MONITORPOWER
4 ユーザー入力
5 AC/DC ディスプレイ バースト
6 ユーザー ディスプレイ バースト
7 PoSetSystemState
8 SetThreadExecutionState
10 セッションのロック解除
11 画面オフ要求
12 ビデオ アイドル タイムアウト (VIDEOIDLE)
13 ポリシーの変更
14 スリープ ボタン
15 カバー
16 バッテリ数の変化
17 支払猶予期間
19 動的パーティション分割
20 休止状態、またはシャットダウン
21 システム アイドル タイムアウト (STANDBYIDLE)
22 近接センサー
23 サーマル スタンバイ
25 再開 S4 ディスプレイ バースト 4
26 ターミナル
27 PDC シグナル
28 AC/DC ディスプレイ バースト抑止
30 WinRT API
31 入力キーボード
32 入力マウス
33 入力タッチパッド
34 入力ペン
35 入力加速度計
36 入力 HID
37 入力 UserPresent
38 入力 SessionSwitch
39 入力初期化
40 PDC シグナル: Windows Mobile 電源通知
41 PDC シグナル: Windows Mobile シェル
42 PDC シグナル: Hey Cortana
43 PDC シグナル: Holographic シェル
44 PDC シグナル: Windows 生体認証フレームワーク フィンガープリント
45 有向 DRIPS: デバイス S4
46 モニター暗転
47 組み込みパネル
48 ディスプレイが暗転解除を要求した
49 バッテリ数の変化の抑止
50 スリープからの切り替え
51 ターミナル初期化
52 PDC シグナル: センサー - 人間の存在を検出
53 バッテリー PreCritical
54 入力タッチ

スリープのみ (画面オフではない) の終了理由

以下の終了理由は、システムがアクティブ状態にならずにスリープから画面オフに復帰できる理由です。

終了理由コード 終了理由
16777216 PDC タスク クライアント: 不明
16777217 PDC タスク クライアント: ネットワーク更新
16777220 PDC タスク クライアント: メンテナンス スケジューラー
16777221 PDC タスク クライアント: 同期クライアント
16777222 PDC タスク クライアント: テザリング クライアント
16777223 PDC タスク クライアント: SleepStudy アカウンティング
16777224 PDC タスク クライアント: Windows Update クライアント
16777225 PDC タスク クライアント: Wake on LAN
16777227 PDC タスク クライアント: ターミナル サーバー リモート セッション
16777228 PDC タスク クライアント: サービシング セッション
16777229 PDC タスク クライアント: ユーザー モード シャットダウン クライアント

関連項目