Когда вы используете класс PerformanceCounter
, первый вызов метода NextValue()
, скорее всего, вернет 0. Итак, вы должны вызывать его несколько раз после некоторой задержки, чтобы получить соответствующую меру.
вам понадобится:
using System.Diagnostics;
using System.Threading;
Тогда вы можете получить его следующим образом:
static void Main(string[] args)
{
var cpuUsage = new PerformanceCounter("Processor", "% Processor Time", "_Total");
Thread.Sleep(1000);
var firstCall = cpuUsage.NextValue();
for (int i = 0; i < 5; i++)
{
Thread.Sleep(1000);
Console.WriteLine(cpuUsage.NextValue() + "%");
}
Console.Read();
}