0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PerfView / Windows Performance Analyzer (WPA) の使い方

Last updated at Posted at 2025-08-19

PerfView / Windows Performance Analyzer (WPA) の使い方

一般的なCPU使用率を見るくらいであれば、Windows標準のPerfMonで見ることができます。
ただ、Programerとしてはさらに細かいProcess、ThreadがCPUコアのどれでどのくらい占有しているかまで知りたい変態さんもいるのではないでしょうか?

そのような詳細なパフォーマンス解析には Microsoft 提供の PerfViewWindows Performance Analyzer (WPA) が便利です。

1. ダウンロード方法

PerfView

Windows Performance Analyzer (WPA)

下記のいずれかで入手します。


2. インストール方法

PerfView

  • ダウンロードした PerfView.exe をそのまま実行するだけ
  • インストール不要でポータブルに利用可能

WPA

  1. Windows ADK セットアップを起動
  2. Windows Performance Toolkit にチェックを入れる
  3. インストール完了後、スタートメニューから Windows Performance Analyzer を起動できる

3. シンボルの保存場所設定

トレースを解析する際には シンボル情報 (pdb) が必要になります。
オフライン環境で解析する場合もあると思いますので、シンボル情報の保存先を設定しておきます。

PerfViewのシンボルサーバの設定
FileSet Symbol Path に設定
image.png
デフォルトでは"C:\Users\UserName\AppData\Local\Temp\SymbolCache"のような位置に設定されていますので、保存したい位置に変えます。
image.png


4. 基本的な使い方

PerfView

  1. CollectCollect を選択
    image.png

  2. CPU Sampling, Thread Time, GC Events など必要な項目を選択
    image.png

  3. Start Collection でトレース開始

  4. Stop Collection.etl.zip ファイルが保存されます

  5. PerfViewでは表形式である程度のデータが見られるようですが、WPAの方が見やすくなっているので使うことはないでしょう

image.png

Windows Performance Analyzer (WPA)

1.'.etl'ファイルをダブルクリックするとWPAが起動します。

image.png

  1. 情報量の多さから、初見では使い方がよくわからないでしょうが、重要なのは、Legend(色の凡例)の左隣をGraphで見せてくれるということです。
    右下のGraphはCPUの%Weightを色づけてGraphにしているし、右上のGraphはTimeを色づけて見せてくれるのです。
    image.png

  2. 表の列を右クリックしてMoreを押すと項目を増やすことができます。
    列の並びでいろいろGraphが変わるので試してみてください。
    表の中の黄色(大区分)と青(小区分)のセパレータでも解析の表示が変わってくるようです。
    image.png

  3. 表示する内容は下記の場所で選択

image.png

  1. Graphの表示の種類は下記の場所で選択
    image.png

5. Graph例:各 CPU CoreのProcess 毎に使用率グラフ表示

WPA

  1. Graph ExplorerSystem ActivityCPU Usage (Sampled) を選択
  2. 列をCPU,Process,Stack でグルーピングすると、CPU毎のProcessのCPU使用率を表示します。
    image.png
    3.ただし、GraphはCPU毎に分けて表示されず、全部積算されるので区別が難しいです。
    Filterで見たいCPUに絞って表示してもいいし、
    Graphの下段2つのようにIdleを表示させるとCoreが100%近くまでになるため、区別が付くと思います。

6. Graph例:TimeLineでProcessの使用率グラフと表を表示

  1. 使用率のデータを表で実際の数字を見たり、Excelなどにコピーしたい場合もあるのではないでしょうか?
    その場合は下記のように列を並べることでTimeStampで表示することもできます。
    image.png
  2. 残念ながら、TimeStampに対して列には1つのProcess分しか表示できなさそうなので、この表から各Processのデータを読み取れるのは大変態のあなたしかできないとは思いますが、Excelなどにコピーをして、マクロなどで集計すれば何かしらのデータとして活用できるかもしれません。

📌参考:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?