パフォーマンスカウンターの詳細と使用方法に関する詳しい解説
PerformanceCounterは、システム上のパフォーマンスカウンタを監視するクラスです。これはCPU使用率、メモリ使用量、ディスクI/Oなど、さまざまなシステムのパフォーマンス指標を取得して監視できます。
PerformanceCounterの使用手順:
- PerformanceCounterインスタンスの作成: PerformanceCounterクラスのコンストラクタを使用してインスタンスを作成できます。この場合、カウンタのカテゴリ、カウンタ名、インスタンス名(ある場合)を指定する必要があります。
- PerformanceCounterインスタンスの設定: PerformanceCounter クラスのプロパティを使用して、サンプリング間隔やカウンタータイプなどのインスタンスの特定のプロパティの設定ができます。
- PerformanceCounterインスタンスの起動:PerformanceCounterクラスのStartメソッドを呼び出すことで、パフォーマンスカウンターの収集を開始する。
- パフォーマンスカウンターの値を取得します:PerformanceCounter クラスの NextValue メソッドを呼び出すことで、最新のパフォーマンスカウンターの値を取得します。
- Stop PerformanceCounter インスタンス: PerformanceCounter クラスの Stop メソッドを呼び出して、パフォーマンスカウンタの収集を停止します。
以下のサンプルコードは、PerformanceCounterを使用して現在のコンピュータのCPU使用率を監視する方法を示しています。
using System;
using System.Diagnostics;
public class Program
{
public static void Main()
{
// 创建PerformanceCounter实例
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
// 配置PerformanceCounter实例
cpuCounter.MachineName = ".";
cpuCounter.NextValue(); // 第一次调用NextValue方法,用于初始化计数器
// 启动PerformanceCounter实例
cpuCounter.Start();
// 获取性能计数器的值
float cpuUsage = cpuCounter.NextValue();
Console.WriteLine("CPU使用率:{0}%", cpuUsage);
// 停止PerformanceCounter实例
cpuCounter.Stop();
}
}
パフォーマンスカウンタークラスを使用するには、アプリケーションでパフォーマンスカウンターにアクセスするための十分な権限があることを確認します。十分な権限がない場合は、アプリケーションを管理者として実行してみます。