xperfでDPCの状況を調べる

前にNyaRuRuさんの日記でも紹介されていたと思うが、現在のPCで発生している遅延プロシージャコール(DPC)のレイテンシを調べたかったのでxperfを使ってみることにした。

Windows Performance Analysis Developer Center

この手にツールにありがちだが(本格的な性能計測に使うツールなのだから当たり前だ)、大量のドキュメントとオプションに圧倒される。全て調べるのはかなり時間がかかりそうなので、必要最小限の情報収集だけを行う方法を試してみた。

ようは簡易オプション(幾つかのトレースオプションが組込まれている)を使って、カーネルトレースを採取すれば良いようだ。

How to Capture a Kernel Trace - Windows Performance Toolkit

  • Windowsの簡易カーネルイベントプロバイダを有効にする
xperf –on DiagEasy
  • 収集したトレースをイベントトレースファイルに出力する
xperf -d dpctrace.etl
  • イベントトレースファイルに出力された結果を見る
xperf dpctrace.etl

トレースをアナライザで見た所

各ビューのサマリ