web-dev-qa-db-ja.com

スレッドごとのCPU統計の取得

特定のアプリケーションの各スレッドの現在のCPU使用率を取得するにはどうすればよいですか?どこかから、または何らかのツールを使用して、その情報を取得することは可能ですか?

10
dabest1

簡単に回答するには、SysInternalの Process Explorer を使用します。プロセスをダブルクリックして詳細ダイアログを開きます。スレッドタブには、コンテキストスイッチデルタやCPU時間を含むすべてのスレッドのソート可能なリストが表示されます。

8
Richard

Perfmon(パフォーマンスモニター)を使用すると、必要な詳細情報が得られます。

以下はWindows 2000、XPまたはServer 2003を想定しています。チェックしていませんが、Vista、Windows 7およびServer 2008ではパフォーマンスモニターが少し異なると思います。

パフォーマンスモニターを実行するには、[スタート]> [コントロールパネル]> [管理ツール]> [パフォーマンス]に移動します。

アプリケーションのスレッドごとにグラフを追加するには、グラフを右クリックして[プロパティ]を選択します。付属のデフォルトをすべて削除して、グラフをきれいにすることができます。

[追加...]ボタンをクリックし、[ローカルコンピュータカウンタを使用する]がオンになっていることを確認します(別のサーバーを監視する場合は、このオプションを選択してください)。

[パフォーマンスオブジェクト]で[スレッド]を選択します

カウンター「%Processor Time」を選択し、監視するすべてのスレッドを選択します(Ctrlキーを押しながらクリックして複数を選択します)。 「追加」をクリックし、次に「閉じる」をクリックします。

プロパティに戻って、色やパターンなどを割り当てることで、グラフを好きなようにカスタマイズできます。[OK]をクリックします。

グラフ作成を開始する必要がある場合があります。その場合は、赤いSTOP記号をクリックして有効にしないとグラフが開始されます。

7
Mark Henderson

プロセスモニター(sysinternals)

Sysinternals(最近Microsoftが購入した)によるProcessMonitorはおそらく機能すると思います。

プロセスモニターは、リアルタイムファイルシステム、レジストリ、プロセス/スレッドアクティビティを表示する、Windows用の高度な監視ツールです。 FilemonとRegmonの2つのレガシーSysinternalsユーティリティの機能を組み合わせ、豊富で非破壊的なフィルタリング、セッションIDやユーザー名などの包括的なイベントプロパティ、信頼できるプロセス情報、統合されたシンボルサポートを備えたフルスレッドスタックなどの拡張機能の広範なリストを追加します各操作、ファイルへの同時ロギング、その他多数。その独自の強力な機能により、Process Monitorはシステムのトラブルシューティングおよびマルウェアハンティングツールキットのコアユーティリティになります。

ここにリンクがあります:

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

1
KPWINC

組み込みのWindowsパフォーマンスモニターを使用できます。最初にperfmonと入力して実行します。 perfmonで一度、プラス記号をクリックし、プロセスを選択します。プロセスを選択してから、表示するものを選択します。基本に立ち返って!

0
Nasa