2012-02-24 1 views
1

誰でも次の作業を達成する方法を知っていますか?多くのCPUを消費しているスレッドの実行スタックを印刷する方法は?

アプリケーションがCPUをたくさん食べることがあります.ProcessExplorer(procexp.exe)は、定期的に高いカーネルCPU負荷(〜60-80)を示します。私はprocexpで、いくつかのスレッドが多くのカーネル時間を消費する何かをすることを知っています。その瞬間、私はそれらのビジースレッドの実行スタックを印刷したいと思います。

この種の情報やWinDbgスクリプトなどを表示できる監視ツールはありますか?

+0

私はちょうどこれがjavaプロセスに関するものと仮定して答えを掲示しました。そうだね、そうでなければ私はそれを取り除くだろう。 –

+0

いいえ、Windowsでは.net/nativeプロセスです。申し訳ありませんが、以前は言及していませんでした。 –

答えて

2

私はProcDumpを使用することをお勧めし「プロセッサの豚を追跡する」ためにwindbgのヘルプで見ることができます。

のようなコマンド:

プロセスのフルメモリダンプを取る

procdump -c 60 -s 3 -ma -n 5 -x Your.exe your.dmp

3秒間に60%のCPU使用率を超え、最大5回まで実行します。この方法で、異なるダンプを比較し、そのプロセスがその時間を費やしている場所を確認することができます。

関連する問題