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

13
задан Alioo 12 July 2012 в 20:32
поделиться