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