В связи с этим вопросом: Как счетчик Perfmon "% загруженности процессора" может превышать 100%?
Я вручную наблюдал за процессами в диспетчере задач, когда пользователь сообщил о проблеме, а процесс Oracle использовал 80% -95% в течение длительного периода времени (5-15 минут).
Итак, я использовал perfmon в течение последних нескольких дней, чтобы отслеживать этот процесс, и заметил, что он превышает 100% на короткие периоды, так что, очевидно, в perfmon это общая сумма по всем процессорам.
Мой вопрос в том, что 80-95%, которые я видел в диспетчере задач, действительно соответствовали бы 160-180% в perfmon, верно?
(очевидно, учитывая тот факт, что некоторые процессы не могут эффективно использовать все процессоры).
Диспетчер задач показывал здесь 80-95% ЦП:
Perf Monitor может превышать 100% в строке для одного объекта процесса:
Изучение данных о времени процессора в MSDN
В многопроцессорных системах значение процессора \% загруженности процессора, сообщаемое системным монитором, никогда не превышает 100 процентов для любого конкретного процессора или потока.
С другой стороны, значение% загруженности процессора, сообщаемое для объекта «Процесс», может сообщать значения, превышающие 100 процентов; если такие значения встречаются, это может указывать на то, что потоки процесса в совокупности используют более 100 процентов процессора.
В основном это говорит о том, что при изучении процесса (с несколькими путями выполнения) вы увидите более 100%, если код одновременно выполняет более одного ядра. Для процесса доступно несколько ядер, и он может работать на нескольких.
С другой стороны, при исследовании потока ЦП вы никогда не увидите значение выше 100%, поскольку это реальный измеряемый ресурс. CPU Thread - это Microsoft говорит о CPU Core: в ядре с поддержкой HT есть два потока.