1日のPC上の特定の実行可能ファイルの平均CPU使用率を知りたい。
これを行うためにC#アプリを作成することもできますが、これがスーパーユーザーが存在するかどうかを知っているスーパーユーザーのアプリとまったく同じだと考えました。
重要な場合に備えて、Windows 764ビットを使用しています。
ありがとう!
パフォーマンスモニターに移動します。グラフを右クリックして、「カウンターの追加」を選択します。
[使用可能なカウンター]リストで、横にある下矢印をクリックして[プロセス]セクションを開きます。 「%ProcessorTime」(およびその他の必要なカウンター)を選択します。
「選択したオブジェクトのインスタンス」リストで、追跡するプロセスを選択します。次に「追加>>」をクリックします。必要なものが揃ったら[OK]をクリックします。
これにより、選択したアプリケーションのCPU使用率のグラフが表示されます。
スーパーユーザーが使用する必要のある別のアプリケーションは Process Explorer です。
Mark Russinovichの技術ブログの記事 システムプロセスのCPUスパイクのケース を参照してください。ここでは、ネットワークドライバーによって引き起こされたCPUスパイクを追跡しました。
役立つ可能性のあるリンクは次のとおりです。 http://zamov.online.fr/EXHTML/CSharp/CSharp_927308.html
それ以外の場合は、System.Diagnostics名前空間に目を通してください(System.Diagnosticsをクイック検索すると、関連するページが表示されます)。
次のコマンドは、特定のプロセス(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