Вот мой код.
PerformanceCounter cpuCounter = new PerformanceCounter();
cpuCounter.CategoryName = "Processor";
cpuCounter.CounterName = "% Processor Time";
cpuCounter.InstanceName = "_Total";
// will always start at 0
dynamic firstValue = cpuCounter.NextValue();
System.Threading.Thread.Sleep(1000);
dynamic secondValue = cpuCounter.NextValue();
return secondValue;
Здесь есть много людей, которые сталкиваются с проблемой, что это возвращает ноль, однако я всегда получаю 100, и я точно знаю, что мое программное обеспечение не потребляет столько мощности процессора. Любые идеи относительно того, что я могу сделать, чтобы сделать эту работу правильно. Чтобы было ясно, я пытаюсь получить использование процессора из приложения, выполняющего этот код, а не из отдельного. Также я работаю на виртуальной машине, но это не имеет значения. Любые идеи?