В программе на C # я пытаюсь получить процент использования процессора приложением, но он всегда показывает 100
Вот мой код
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, и я точно знаю, что мое программное обеспечение не так сильно нагружает процессор. Любые идеи относительно того, что я могу сделать, чтобы сделать эту работу правильно. Чтобы было ясно, я пытаюсь извлечь использование процессора из приложения, выполняющего этот код, а не отдельно. Также я работаю на ВМ, но это, похоже, не имеет значения. Есть идеи?