web-dev-qa-db-ja.com

Windowsで割り込みの原因を調べるにはどうすればよいですか?

ときどき、プロセッサ(%)の割り込み時間が長いサーバー(Windows 2003および2008)に遭遇します。割り込みを引き起こしているプログラムまたはデバイスを確認する方法はありますか?

39
jlupolt

(ここでの他の回答に基づいて)ドキュメントを掘り下げた後、これは私が最終的に使用したプロセスです:

  1. 問題のETWログをキャプチャする

    これを行う最も簡単な方法は Windows Performance Recorder を使用することです。いつ最初に表示されたかはわかりませんが、最近のバージョンのWindowsに組み込まれているようです。プロファイルを_CPU usage_に設定します。

    Windows Performance Recorder

    または、昇格したコマンドプロンプトを使用して、それを含むフォルダーに移動し、コマンドラインツールxperfを使用します。

    _xperf -on base+interrupt+dpc
    _

    注:Process MonitorまたはETWを使用するその他のアプリを閉じる必要があります。そうしないと、次のエラーが発生します。xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).

  2. トレースを停止する/ログを保存する

    _xperf -d interrupt_trace.etl
    _
  3. _Windows Performance Analyzer_(Windows Performance Toolkitの一部)でトレースを開きます。一部の場所では、代わりにxperfviewを使用することに言及しています。

  4. Computation-> CPU Usage (Sampled)-> _DPC and ISR Usage by Module, Stack_を展開し、右クリックして_add graph to analysis view_

    Windows Performance Analyzer

  5. これは問題のドライバーを正しく指し示していました。この場合、HDAudBus.sysは割り込みを介してCPUの10.82%を一定に使用しています。これは、Process Explorerが表示していたものとまったく同じです。

45
Dave Andersen

低レベルのシステムツールを処理できる場合。

Windowsパフォーマンスアナライザー(WPA)

Windowsパフォーマンスアナライザー(WPA)は、Microsoft Windowsオペレーティングシステムおよびアプリケーションの詳細なパフォーマンスプロファイルを作成するために使用されるパフォーマンス監視ツールのセットです。

Xperfの使用方法を学習した後。チェックアウト;

DPC/ISRアクション

DPC/ISRアクションは、DPCおよびISRに関するさまざまなメトリックを要約するテキストレポートを生成します。このアクションの使用法は次のとおりです。

コードのコピー-a dpcisr [-dpc -isr -summary -interval [n] -bucket [n] -range T1 T2]

オプション

説明文

dpc

DPCのみの統計を表示

isr

ISRのみの統計を表示

概要

概要レポートを表示

間隔[dt]

Dtの間隔の使用状況レポートを表示します。デフォルトは1秒です

バケット[dt]

Dtの間隔のヒストグラムを表示、デフォルトは2秒

範囲T1 T2

T1とT2の間の遅延を表示

If no data type is specified, default is to show report for both DPC

およびISR。レポートタイプが指定されていない場合、デフォルトでは3種類すべてのレポートが印刷されます。

4

これは、チュートリアル、スクリーンショット、および関連ツールへのダウンロードリンクを使用して、これを行う方法について私が見つけた最高の記事です。

http://www.msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/

3
Syclone0044

2つの優れたツールは LatencyMon および DPC Latency Checker です。

1
ron

Windows Process Explorerを見てください。

http://technet.Microsoft.com/en-us/sysinternals/bb896653.aspx

それは役立つはずです。

0
davey