5

一部のマシンでは、.Netアプリケーションが約10%のCPU使用率でアイドリングしています。私の最初の傾向は、バックグラウンドワーカースレッドの1つが、私が知らないいくつかの命令を実行していることですが、スレッドごとにCPU使用率を分離する方法がわかりません(タスクマネージャーは、プロセスがx個のスレッドを使用していることを単に教えてくれます[通常は約30]、CPUを占有しているスレッドではありません)。

プログラムでこの投稿に記載されているスレッドを繰り返すことができることは知っていますが、それで必要な情報が得られるかどうかはわかりません。スレッドごとのCPU使用率を分析できるプロファイラー(商用またはその他)はありますか?

4

4 に答える 4

4

JetTracedotTracePerformanceをお勧めします。それはあなたのコードがその時間のほとんどを費やしている場所とスレッドを教えてくれます。(商用ですが、10日間の無料トライアルが付属しています。)

于 2012-07-24T15:59:09.407 に答える
2

MicrosoftのPerfviewをお試しください:http ://www.microsoft.com/en-us/download/details.aspx?id = 28567

システムETWイベントを使用して、CPU使用率の低い問題の多くを把握できます。

于 2012-07-24T16:14:55.537 に答える
1

デバッガーを接続して「ブレーク」ボタンを押すのはどうですか。次に、コードで実行されているスレッドがあるかどうかを確認しますか?

于 2012-07-24T16:07:50.413 に答える
0

私はNominSimの答えを2番目に挙げ、RedGateのANTSPerformanceProfilerをお勧めします。過去に私を大いに助けてくれました。

14日間の無料試用版があります。

于 2012-07-24T16:03:23.420 に答える