プロセス ID が与えられた場合、C# を使用してこのプロセスから CPU 負荷を取得するにはどうすればよいですか?
特定のアプリケーションの c# 計算 CPU 使用率で説明されているように、PerformanceCounter を使用してみました
また、時間枠内のプロセスの合計 cpu 時間の 2 つの値を手動で取得し、delta-cpu-time を delta-total-time で除算しようとしました。
これらの方法はどちらも最初は問題なく動作するように見えますが、アプリケーションを Windows タスク マネージャーの横に配置すると、アプリケーションは常にタスク マネージャーの約 2 倍の量を表示します。10ミリ秒から10秒までのさまざまなタイムステップで更新しようとしましたが、常に同じ結果が得られました。
うーん、私がこれを書いたとき、それはある種のデュアルコアの問題である可能性があることに気付きました...