Рассчитать использование процессора для процесса Windows?

Учитывая идентификатор процесса, как я могу получить загрузку процессора из этого процесса с C #?

Я пытался использовать PerformanceCounter, как описано вc # рассчитать загрузку процессора для конкретного приложения

Я также попытался вручную взять два значения общего времени процессора для процесса в течение определенного периода времени и разделить время дельта-процессора на время дельта-общего времени.

Оба эти метода на первый взгляд работают нормально, но если я помещу свое приложение рядом с диспетчером задач Windows, мое приложение всегда показывает примерно вдвое больше, чем менеджер задач. Я пытался обновить с различными временными шагами от 10 мс до 10 с и все время получать один и тот же результат.

Хм, когда я написал это, я понял, что это может быть проблема с двумя ядрами ...

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

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