ホームページ > バックエンド開発 > C++ > C# で CPU 使用率を計算するにはどうすればよいですか?

C# で CPU 使用率を計算するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-27 07:51:10
オリジナル
697 人が閲覧しました

How Do I Calculate CPU Usage in C#?

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() メソッドでは、正確な測定のために遅延が発生します。必要に応じて遅延を調整します。
  • このカウンタは、すべてのプロセッサ コアにわたる合計 CPU 使用率を反映します。
  • 利用可能な RAM などの他のシステム リソースを監視するには、同様の PerformanceCounter オブジェクトを利用できます。 例:
PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes");

public string GetAvailableRAM()
{
    return ramCounter.NextValue() + " MB";
}
ログイン後にコピー

PerformanceCounter クラスは、システム パフォーマンスの監視を C# アプリケーションに統合するための堅牢かつ効率的な方法を提供します。 使用中は、潜在的な例外 (PerformanceCounterException など) を忘れずに処理してください。

以上がC# で CPU 使用率を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート