Windows Performance Analyzer を使用したモダン スタンバイに関する問題の分析

Windows Performance Analyzer (WPA) では、システム アクティビティのトレースがグラフィカルな形式で表示されます。 WPA は、多くの Windows パフォーマンスおよびデバッグ シナリオで使用されます。また、SleepStudy を使用して解決できないモダン スタンバイの問題に対する第 2 レベルのトリアージ ツールです。 WPA は、モダン スタンバイ セッション中に収集されたイベントを含むトレース ファイルのグラフィック形式を示します。

このビデオでは、WPA を使用して、モダン スタンバイ セッションのトレースを分析する方法について説明します。

このビデオでは、プラットフォームのアイドル状態グラフと PDC 回復性アクティビティ グラフを使用して、ハードウェア プラットフォームが DRIPS 状態に十分な時間をかけられないようにするソフトウェア アクティビティの原因を特定する方法を示します。

このビデオでは、プラットフォームのアイドル状態グラフとデバイスの Dstate グラフを使用して、ハードウェア プラットフォームの DRIPS 状態の時間が非常に短いハードウェア デバイスを追跡する方法について説明します。

プラットフォームのアイドル状態グラフの詳細については、以下の「コネクト スタンバイ電源管理の一般的な WPA グラフ」セクションを参照してください。 PDC 回復性アクティビティ グラフとデバイスの Dstate グラフの詳細については、以下の「WPA トレースの表示」セクションを参照してください。

WPA は、Windows アセスメント およびデプロイメント キット (Windows ADK) のダウンロードパッケージで利用でき、モダン スタンバイ分析のためのスクリプトとドキュメントが含まれています。

このセクションの残りの部分では、このダウンロードで提供されるドキュメントとスクリプトを参照します。

モダン スタンバイ診断のための WPA トレースのキャプチャと表示

トレースキャプチャは、SleepStudy またはその他のツールを介してモダン スタンバイ中に発生した問題をデバッグするために使用される主要な診断方法です。 トレースには、システム プラットフォームの状態、デバイスの状態、ソフトウェア アクティビティ、CPU 使用率、メモリ使用率、およびその他のシステム イベントに関する詳細情報が含まれています。 トレースでキャプチャされたイベントは、モダン スタンバイ中に発生した問題とその原因となった問題を正確に示しています。

WPA トレースをキャプチャする

傾向と平均を観察するために、モダン スタンバイの少なくとも 1 時間のトレースをキャプチャします。

次の方法を使用して、Windows パフォーマンス レコーダー (WPR) と電源プロファイルを使用して、WPA トレースをキャプチャします:

  1. Windows Performance Toolkit (WPT) をインストールします。
  2. 管理者特権でコマンド プロンプトを開き、WPT をインストールする場所に移動します。
  3. トレースを開始するには、次のように実行します: wpr -start Power
  4. 記録中に、システムをモダン スタンバイにします。 少なくとも 1 時間待ってから、システムをウェイクアップします。
  5. トレースを停止してイベント トレースログ (ETL) に保存するには、次のように実行します: wpr -stop <filename>.etl

WPA トレースを表示する

モダン スタンバイトレースを表示して分析するには、WPA ツールを使用します。 WPA ツールをダウンロードしてコンピューターにインストールし、次の手順に従ってトレース ファイルを開きます:

  1. Wpa.exe を実行します。 Wpa.exe は、x86 および x64 でのみ使用できます。
  2. [WPA] メニューの [ファイル] をクリックし、[開く] をクリックして、トレースファイルを選択します。
  3. プロファイルを適用するには、[プロファイル\適用] をクリックして、別の [分析] タブを開きます。
  4. [参照] をクリックし、適用する適切なプロファイルを選択します。
  5. 次の手順に従って、Graph エクスプローラーから現在の分析ビューに他のグラフを追加します。
    1. Graph エクスプローラーでグラフのカテゴリを展開します。
    2. 追加するグラフを選択し、[分析] ビュー ペインにドラッグします。

SleepStudy レポートから WPA トレースにデータを関連付けるには、次の表に示すマッピングを使用します。

SleepStudy WPA トレース
アクティベーター PDC 回復性アクティビティ グラフには、モダン スタンバイ セッション中にアクティブだったアクティベーターの一覧が表示されます。
[プロセッサ] CPU アイドル状態グラフには、システム内の CPU の一覧とそれぞれの状態が表示されます。
Fx デバイス デバイスの Dstate グラフには、モダン スタンバイ セッション中にアクティブだった Windows の電源管理フレームワーク (pofx) デバイスの一覧が表示されます。
PDC フェーズ PDC 通知フェーズ グラフには、すべての PDC フェーズの詳細が表示されます。
ネットワーク いくつかのグラフは、ネットワーク アクティビティを示しています。 PDC 回復性アクティビティ グラフには、ブローカー インフラストラクチャ (BI) や Windows プッシュ通知サービス (WNS) など、ネットワーク アクティビティをトリガーできるアクティベーターが表示されます。 デバイスの Dstate グラフには、Wi-Fi デバイスのアクティビティに関する情報が表示されます。 汎用イベント グラフには、WCM、DHCP、TCPIP などのネットワーク コンポーネントによってトリガーされるイベントを表示できます。
電源要求 電源要求グラフには、このセッション中にアクティブだったすべての電源要求の詳細が表示されます。 モダン スタンバイに関連する要求の種類は、「システム必須」と「実行が必要」の電源要求です。 「表示が必要」は、シナリオの画面で使用されます。

モダンスタンバイでの電源管理の一般的な WPA グラフ

モダン スタンバイ WPA プロファイルから生成されたグラフは、モダン スタンバイのシステム動作を観察し、問題を特定するための鍵となります。 2 つの一般的に使用される WPA グラフは、プラットフォーム アイドル状態グラフです。プラットフォームがさまざまなプラットフォームのアイドル状態にどれだけ時間を費やしているか、およびソフトウェアとハードウェアのコンポーネントのアクティビティレベルを示す DRIPS グラフが表示されます。

各グラフには、グラフの作成に使用された生データを示すテーブル ビューがあります。 ビューを構成するには、グラフ ウィンドウの右上隅にあるボタンを使用します。

既定のビューはグラフのみです。 次の段落では、既定のビューを変更して、モダン スタンバイ動作に関する情報を取得する方法について説明します。

プラットフォームのアイドル状態グラフ

プラットフォームのアイドル状態グラフは、時間に対してプロットされたプラットフォームのアイドル状態にある常駐状況を示します。

異なるプラットフォームでは、数値の状態がチップ上のさまざまなシステム (SoC) の状態に対応している場合があります。 SoC ベンダに問い合わせて、ハードウェアの特定のマッピングを取得します。 このセクションでは、この状態で費やされる時間がモダン スタンバイ バッテリの寿命にとって非常に重要であるため、最も低い電源プラットフォームの状態についてのみ説明します。

プラットフォームのアイドル状態の最も重要な状態は、DRIPS です。 DRIPS 状態は、モダン スタンバイ中の SoC の最低電力状態に対応します。 各 SoC では、独自の DRIPS 状態と、 対応する状態インデックスを定義します。

DRIPS 状態 (DRIPS%) で費やされた時間の割合は、バッテリ寿命に直接比例しているため、モダン スタンバイの重要なメトリックです。 DRIPS の割合値が大きい場合 (90% を超える場合)、DRIPS の割合が低いと (たとえば、80% 未満)、バッテリの寿命が長くなります。

DRIPS 割合を取得するには、テーブル ビューを開き、% Duration 列をドラッグして状態をフィルター処理します。 この列には、システムが各状態にあった時間の割合が表示されます。

DRIPS グラフ

DRIPS グラフには、アクティベーター、デバイス、プロセスなど、トレース期間中にアクティブになっているコンポーネントが表示されます。 このグラフを使用して、最も長くアクティブであるコンポーネントを特定し、システムが DRIPS を入力できないようにします。

アクティベーターは、モダン スタンバイ中に参照を取得し、タスクを実行するコンポーネントです。 これらは、スリープ中に実行できる値の追加、明示的に許可されたソフトウェア アクティビティを処理します。 理想的には、短時間でのみアクティブにする必要があります。また、DRIPS グラフを使用して、モダン スタンバイ セッション中に最もアクティブなアクティベーターを識別できます。 この情報は、特定のアクティベーターが長期間参照を保持しているために、システムが DRIPS を入力できないようにするために重要です。

デバイスと CPU のアクティビティを除いて、上のグラフに表示されるすべてのコンポーネントはアクティベーターです。 たとえば、上のグラフでは、BI、WNS、NCSI、およびイメージ ダウンロード マネージャーがアクティベーターとして表示されています。 最上位のアクティベーターを特定するには、テーブルビューを開き、% Reason Time 列を確認します。この列には、モダン スタンバイセッション中にアクティベーターがアクティブであった時間の割合が表示されます。 たとえば、次のスクリーンショットは、BI が、49.71% アクティブな上位アクティベーターであることを示しています。

BI は、アプリケーションにブローカー サービスを提供してシステム リソースにアクセスするため、特別なアクティベーターです。 BI がアクティブなアクティベーターとして表示される場合、BI 行を展開し、BI がアクティブになる原因となっているアプリを特定します。 このグラフを使用して、モダン スタンバイ セッション中にアクティブな上位アプリを特定します。

アクティベーターに加えて、アクティブなデバイスによって、システムが DRIPS を入力できなくなる場合があります。

システムのアイドル状態と同様に、デバイスには、D0 から D3 までの範囲の低電力状態があります。 デバイスの低電力状態は通常、デバイス クラスによって標準化されます。 デバイスの低電力状態 SoC 自体は SoC 製造元によって定義されます。 SoC の外部にあるデバイスの低電力状態は、通常、すべてのシステムで標準化されます。

DRIPS を使用して、モダン スタンバイ セッション中にアクティブな上位デバイスを特定します。 このグラフには、プラットフォームの電源エンジン プラグイン (PEP) によって提供される情報に基づいて、SoC アイドル状態 (DRIPS) をブロックできるデバイスのみが表示されます。 PEP の詳細については、「PoFxPowerControl」を参照してください。

メモ

デバイスがアクティブであることを必要とするタスクがアクティベーターによって実行されているため、一部のデバイスをアクティブにすることができます。 一般的な例として、プライマリ ストレージ (eMMc/SSD) と Wi-Fi デバイスがあります。これは、BI アクティベーターがアクティブなときに常にアクティブです。

もっともアクティブなデバイスを特定するには、テーブル ビューを開き、% Reason Time 列を確認します。この列には、モダン スタンバイセッション中に各デバイスがアクティブであった時間の割合が表示されます。

アクティベーターとデバイスに加えて、システムが DRIPS に入れない最後の理由は、過剰な CPU アクティビティです。 CPU アクティビティはアクティベーターやデバイスと比較してあまり一般的ではない問題ですが、OEM にプレインストールされたデスクトップ アプリケーションとサービスによって悪化する可能性があります。

CPU アクティビティ行を展開して、アクティブなプロセスを表示します。