次の方法で共有


WPR と WPA を使用したプロセスとスレッドのトラブルシューティング

この記事では、Windows Performance Recorder (WPR) と Windows パフォーマンス アナライザー (WPA) の機能について説明し、トラブルシューティング時にこれらの機能を適用する方法の例を示します。

適用対象: サポートされているすべてのバージョンの Windows Server および Windows クライアント

まとめ

WPR と WPA は、Windows オペレーティング システムとアプリケーションの詳細なパフォーマンス プロファイルを生成するパフォーマンス監視ツールです。 Windows には、WPR のコマンド ライン バージョンが含まれています。 WPA と WPR の GUI バージョン (この記事の例に示されています) を取得するには、 Windows Assessment and Deployment Kit (WADK)をダウンロードしてインストールします。

Note

前のコマンド ライン ツールである Xperf は、データ収集用に引き続きサポートされており、WADK に含まれています。 ただし、Xperfview はサポートされなくなりました。 WPA を使用して Xperf の記録を表示します。

Xperf の使用方法については、「 Xperf コマンド ライン リファレンスを参照してください。

前提条件

WPT ツールを実行するには、システムが次の要件を満たしている必要があります。

  • WPR: Windows 8 以降。
  • WPA: Windows 8 以降と Microsoft .NET Framework 4.5 以降。

WPR を使用したデータの記録

WPR は、システムとアプリケーションの動作とリソースの使用状況の Windows イベント トレーシング (ETW) 記録を作成する強力な記録ツールです。 WPR には、記録対象のイベントの選択に使用できる組み込みのプロファイルが用意されています。 また、XML でカスタム プロファイルを作成することもできます。 詳しくは、次のドキュメントを参照してください。

トピック リンク
基本的な手順のクイック スタート WPR の使い方に関するトピック
組み込みの記録プロファイルの説明 組み込みの記録プロファイル
WPR ユーザー インターフェイスの完全なドキュメント WPR の機能
コマンド ライン オプションのリファレンス WPR のコマンド ライン オプション
主要なシナリオの説明 WPR のシナリオ
パフォーマンス シナリオ
ログ モードの説明 (メモリ モードまたはファイル モード) ログ モード
ログ モードの変更
記録プロファイル XML リファレンスや従来の Xperf リファレンスなど、完全なリファレンス 資料 WPR テクニカル リファレンス

WPR は、ユーザー インターフェイス (WPRUI.exe) またはコマンド ライン (WPR.exe) から実行できます。 WPR UI を使用すると、組み込みの記録プロファイルを使用して、CPU 使用率、電源の問題、システムまたはアプリケーションのパフォーマンスの低下、その他のパフォーマンスの問題を分析することで、記録を簡単に生成できます。 WPRUI.exeは WADK で使用できます。 WPR.exeは Windows オペレーティング システム (Windows 8.1 以降のバージョン) と共に付属しており、追加のインストールは必要ありません。

記録を開始するには、次の手順に従います。

  1. Startを選択し、「Windows パフォーマンス レコーダー」と入力し、検索結果でWindows パフォーマンス レコーダーを選択します。

  2. 次のいずれかの操作を行います。

    • 既定の (First レベルのトリアージ) プロファイルを使用して記録するには、 Start を選択します。

      W.P.R の縮小ビューを示すスクリーンショット。

    • 別のプロファイルを選択したり、その他のオプションを設定したりするには、[その他 オプションを選択します。 目的のオプションを選択し、 Start を選択します。

      W.P.R の展開ビューを示すスクリーンショット。

記録を停止するには、次の手順に従います。

  1. WPR で、 [保存] を選択します。
  2. 記録ファイルを保存する場所を参照します。
  3. 記録を作成した問題についての説明を入力します。
  4. [保存] を選択し、[WPA で開くまたは OK を選択します。

WPA を使用してデータを分析する

WPA は、柔軟な UI と、ピボット可能でフルテキスト検索機能を備えた広範なグラフ機能とデータ テーブルを組み合わせた強力な分析ツールです。 WPA には、特定された問題の根本原因を調べるために、 Issues ウィンドウが用意されています。 詳しくは、次のドキュメントを参照してください。

トピック リンク
基本的な手順と詳細なチュートリアル WPA クイック スタート ガイド
WPA UI の完全なドキュメント WPA の機能
主要なシナリオの拡張された説明 WPA のシナリオ

WPA を開くには、Startを選択し、「Windows パフォーマンス アナライザー」と入力し、検索結果で Windows パフォーマンス アナライザーを選択します。

記録を保存した後に WPR から WPA を直接開かなかった場合は、WPA File メニューを使用してトレース ファイルを開くことができます。

[分析] タブにテーブルとグラフが表示されている W.P.A. を示すスクリーンショット。

Note

分析用のシンボルを読み込むには、 Trace を選択し、シンボルの読み込み 選択。 詳細については、「 シンボルの読み込みまたはシンボル パスの構成を参照してください。

WPA ユーザー インターフェイス (UI) には、中央のワークスペースを囲むドッキングされたウィンドウが含まれています。 このワークスペースには、 Analysis タブが含まれています。 すべてのウィンドウを異なる場所にドッキングできます。 閉じたウィンドウを開くには、[ウィンドウ] メニューでそのウィンドウを選びます。 WPA では、次のウィンドウとタブが使用されます。

ウィンドウまたはタブ 説明
グラフ エクスプローラー 現在の記録に適用されるすべてのグラフのサムネイルが含まれています。 グラフはカテゴリにグループ化されます。 カテゴリを展開するには、サムネイルの左上隅にある三角形を選択します。 詳細については、「Graph エクスプローラー」を参照してください。
分析 トレース記録の詳細情報と凡例を表示します。 グラフ エクスプローラーから Analysis タブにグラフをドラッグできます。タブには、グラフとピボット テーブルの形式で情報が表示されます。 テーブルでは、垂直のゴールド バーによってキーがデータから分離されます。 垂直の青いバーは、ピボット テーブル データとグラフ要素を分離します。 詳細については、「[分析] タブ」を参照してください。
分析アシスタント 現在選択されているグラフとテーブルに関する情報を表示します。 詳細については、「分析アシスタント」を参照してください。
問題 評価プラットフォームの記録に使用でき、評価で識別される問題の一覧が表示されます。 詳細については、「[問題] ウィンドウ」を参照してください。
詳細 評価プラットフォームの記録に使用でき、選択した問題の詳細と推奨される解決策が一覧表示されます。 詳細については、「[詳細] ウィンドウ」を参照してください。
診断コンソール シンボルの読み込みとデコードに関連する記録と詳細の例外の一覧を提供します。 詳細については、[Diagnostic Console]\(診断コンソール\) ウィンドウに関するページを参照してください。

次の表では、いくつかの問題シナリオ、データの記録に使用できる WPR プロファイル、およびデータを分析するための推奨グラフとピボット テーブル フィールドについて説明します。

シナリオ WPR プロファイル 分析するグラフとパラメーター
CPU 使用率が高い 既定のプロファイル (第 1 レベルトリアージ) または CPU 使用率 CPU 使用率 > 計算 (サンプリング)
主なオプション:
  • Process>Stack (プロセスごとにアクティビティを一覧表示し、そのプロセス内のすべてのスレッドでアクティビティを一覧表示します)
  • Process>Thread ID>Stack (各スレッドのプロセスごとにアクティビティを一覧表示)
  • プロセス名>Stack (特定の名前に関連付けられているすべてのプロセスのすべてのスレッドによるアクティビティを一覧表示します)
データ: Count (並べ替え)
仮想割り当てリーク VirtualAlloc の使用 Memory > VirtualAlloc Commit LifeTimes
キー: TypeProcessStack
データ: Count (並べ替え) サイズの変更 (MB)
プールリーク プールの使用状況 メモリ > プール
キー: TypePagedPool TagStack
データ: Count (Sum)Impacting Size (MB)
ハンドル リーク ハンドル使用状況 メモリ > ハンドル
キー: プロセスの作成Handle 型スタックの作成
データ: Object NameObjectHandle
Graph 要素 (青いバーの右): Count
ヒープ リーク ヒープの使用状況
トレース フラグ*
メモリ > ヒープの割り当て
キー: TypeProcessStack
データ: Countサイズの変更 (B) 合計
待機分析 既定のプロファイル (第 1 レベルトリアージ) または CPU 使用率 CPU 使用率 > 計算 (正確)
キー: New ProcessNew ThreadNew StackReadying ProcessReadying ThreadReadying Stack
データ: Wait(Max)Wait(Sum)Count(Waits)

* トレース フラグを設定するには、管理コマンド プロンプト ウィンドウを開き、次のコマンドを実行します。

reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<Process_Name>" /v TracingFlags /t REG_DWORD /d 1 /f
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\VirtMemTest64.exe" /v TracingFlags /t REG_DWORD /d 1 /f

Note

最初のコマンドで、 <Process_Name> は、分析するサービスまたはプロセスの名前を表します。

コマンドを実行した後、サービスまたはプロセスを再起動します。