2010-09-14 4 views
6

Во время тестирования производительности, я обнаружил, что значения Process(w3wp)\% Processor Time больше, чем 100. Некоторые значения.net счетчик производительности - процесс (w3wp) % загруженности процессора

237.1436486 
312.5338052 
341.2373994 
264.4097661 
191.6237736 

Я подумал, что это значение представляет собой использование процессора по процессу w3wp. Я не понимаю, почему значение больше 100%.

ответ

6

Если у вас есть несколько ядер он может перейти на 100, это сумма использования процессора для каждого процессора (ядра или виртуального ядра), так что более 100 нормально (100*numberOfCores является наксом).

Используйте версию счетчика Process(w3wp_Total) если вы хотите общий CPU%, это колпачки на 100.

+0

Эй, спасибо. Это имеет смысл, я буду искать счетчик, который вы упомянули – testuser

+0

Есть ли такой счетчик? Единственное, что я знаю, кроме «Process (w3wp)», будет «Process (_Total)», что, конечно же, является суммой для всех процессов. Лично я просто выполнял («Процесс (w3wp) \% Processor Time»/Environment.ProcessorCount) при возникновении этой проблемы. –

+0

Я не нашел счетчик Process (w3wp_Total), но я решил сделать то же самое («Process (w3wp) \% Processor Time»/Environment.ProcessorCount) Спасибо! – testuser

5

Как Ник Craver уже сказал, это общая стоимость всех процессоров (логических или физических). Чтобы получить значение от 0% до 100%, просто разделите его на числа процессоров (например, Environment.ProcessorCount, предполагая, что вы хотите сделать это в коде .NET).

Смежные вопросы