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

Ответы на вопрос(2)

Ваш ответ на вопрос