Как счетчик Perfmon «% процессорного времени» может превышать 100%?


9

Счетчик Process(sqlservr)\% Processor Timeсоставляет около 300% на одном из моих серверов баз данных. Этот счетчик отражает процент общего времени, проведенного SQL Server на ЦП (режим пользователя + режим привилегий). В книге « Внутренние компоненты и устранение неполадок Sql Server 2008» говорится, что проблема, превышающая 80%, является проблемой.

Как возможно, что этот счетчик превышает 100%?

Ответы:


21

Есть два счетчика с одинаковым именем:

Process\% Processor Time: Сумма процессорного времени на каждом процессоре

Processor(_Total)\% Processor Time: Всего по всем процессорам

Ваш вопрос указывает на то, что вы используете первый счетчик, что означает, что его максимальное значение составляет 100% * (без процессоров).

Таким образом, если у вас 4 ЦП, то общий максимум составляет 400%, а 80% на самом деле (400 * 0,8 =) 320% (а для 8 ЦП это 640% и т. Д.)


Ага! Вот и все. У меня 8 процессоров. Таким образом, общее использование процессора в sqlservr на самом деле составляет около 37%. А это значит, что все нормально. Спасибо, @Farseeker!
Билл Паецке

Любое время. У меня были похожие запросы, когда я впервые начал использовать perfmon в системах с несколькими процессорами.
Марк Хендерсон

2
Включает ли число процессоров гиперпоточность? Например, если у меня четырехъядерный компьютер и у меня гиперпоточность, нужно ли мне учитывать 4 проца или 8?
Мэтью Родатус

1
Есть ли способ найти использование процессора одним процессом со значением от 0 до 100% (иначе: он показывает распределение нагрузки по всем процессорам)? Я предпочел бы не делать разделение себя
Jeroen Vannevel

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.