C# アプリケーションでの CPU 使用率の監視
このガイドでは、PerformanceCounter
クラスを使用して C# アプリケーション内のシステム全体の CPU 使用率データを取得する方法を説明します。
カウンターのセットアップ:
まず、PerformanceCounter
オブジェクトをインスタンス化して CPU 使用率を追跡します。 これは、カテゴリ (「プロセッサ」)、カウンタ名 (「% プロセッサ時間」)、およびインスタンス名 (システム全体の使用量の「_Total」) を指定することで実行されます。
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
CPU 使用率の取得:
現在の CPU 使用率は、NextValue()
メソッドを使用して取得されます。 NextValue()
への最初の呼び出しでは常に 0% が返されることに注意してください。 意味のある結果を得るには、少し遅れて 2 回目の呼び出しが必要です。
public string GetCpuUsage() { // First call to NextValue() is always 0, so we discard it. cpuCounter.NextValue(); System.Threading.Thread.Sleep(1000); // Wait 1 second for a more accurate reading. return cpuCounter.NextValue() + "%"; }
重要な注意事項:
NextValue()
呼び出しは、デフォルトの 0% 値を破棄するために重要です。System.Threading.Thread.Sleep()
メソッドでは、正確な測定のために遅延が発生します。必要に応じて遅延を調整します。PerformanceCounter
オブジェクトを利用できます。 例:PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes"); public string GetAvailableRAM() { return ramCounter.NextValue() + " MB"; }
PerformanceCounter
クラスは、システム パフォーマンスの監視を C# アプリケーションに統合するための堅牢かつ効率的な方法を提供します。 使用中は、潜在的な例外 (PerformanceCounterException
など) を忘れずに処理してください。
以上がC# で CPU 使用率を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。