Диспетчер задач Процессор %

Диспетчер задач Процессор %

По теме этого вопроса:Как счетчик Perfmon «% Processor Time» может превышать 100%?

Я вручную наблюдал за процессами в диспетчере задач, когда пользователь сообщил о проблеме, и процесс Oracle использовал 80%-95% в течение длительного периода времени (5-15 минут).

Итак, я последние пару дней использовал perfmon, чтобы отслеживать этот процесс, и заметил, что в короткие периоды он превышал 100%. Видимо, в perfmon это общий показатель по всем процессорам.

Мой вопрос заключается в том, что 80–95%, которые я видел в диспетчере задач, на самом деле соответствовали 160–180% в Perfmon, верно?

(разумеется, с учетом того, что некоторые процессы не смогут эффективно использовать все процессоры).

Диспетчер задач показывал загрузку ЦП на уровне 80-95%:

введите описание изображения здесь

Perf Monitor может достигать пикового значения выше 100% на линии для одного объекта процесса:

введите описание изображения здесь

решение1

Изучение данных о времени процессора на MSDN

В многопроцессорных системах значение Processor\% Processor Time, отображаемое системным монитором, никогда не превысит 100 процентов для любого конкретного процессора или потока.

С другой стороны, значение % загруженности процессора для объекта «Процесс» может превышать 100 процентов. Если такие значения встречаются, это может означать, что потоки процесса в совокупности используют более 100 процентов ресурсов процессора.


По сути, это говорит о том, что при изучении процесса (с несколькими путями выполнения) вы увидите более 100%, если код выполняется одновременно на нескольких ядрах. Процессу доступно несколько ядер, и он может выбрать для выполнения несколько из них.

С другой стороны, если исследовать поток ЦП, вы никогда не увидите значение выше 100%, поскольку это фактический измеряемый ресурс. Поток ЦП — это сленг Microsoft для ядра ЦП: в ядре с поддержкой HT есть два потока.

Связанный контент