web-dev-qa-db-ja.com

ある期間の1つのプロセスのCPU使用率を監視するにはどうすればよいですか?

1日のPC上の特定の実行可能ファイルの平均CPU使用率を知りたい。

これを行うためにC#アプリを作成することもできますが、これがスーパーユーザーが存在するかどうかを知っているスーパーユーザーのアプリとまったく同じだと考えました。

重要な場合に備えて、Windows 764ビットを使用しています。

ありがとう!

8
Josh Comley

パフォーマンスモニターに移動します。グラフを右クリックして、「カウンターの追加」を選択します。

[使用可能なカウンター]リストで、横にある下矢印をクリックして[プロセス]セクションを開きます。 「%ProcessorTime」(およびその他の必要なカウンター)を選択します。

「選択したオブジェクトのインスタンス」リストで、追跡するプロセスを選択します。次に「追加>>」をクリックします。必要なものが揃ったら[OK]をクリックします。

これにより、選択したアプリケーションのCPU使用率のグラフが表示されます。

9
Snark

スーパーユーザーが使用する必要のある別のアプリケーションは Process Explorer です。

Mark Russinovichの技術ブログの記事 システムプロセスのCPUスパイクのケース を参照してください。ここでは、ネットワークドライバーによって引き起こされたCPUスパイクを追跡しました。

4
harrymc

役立つ可能性のあるリンクは次のとおりです。 http://zamov.online.fr/EXHTML/CSharp/CSharp_927308.html

それ以外の場合は、System.Diagnostics名前空間に目を通してください(System.Diagnosticsをクイック検索すると、関連するページが表示されます)。

0
Salami

次のコマンドは、特定のプロセス(pid)の50秒ごとのCPUとメモリ使用量の平均を取得します

pidstat 50 -ru -p <pid>

私のケースの出力(cpu-usageの2行目、メモリの2行目):

02:17:47 PM       PID    %usr %system  %guest    %CPU   CPU  Command
02:18:27 PM     24563    0.38    0.07    0.00    0.45     3  Java

02:17:47 PM       PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
02:18:27 PM     24563     11.68      0.00 13047972 2123268   6.52  Java
0
Celik