Меня особенно интересует счетчик «Процесс /% загруженности процессора». Если вы установите его на интервал, скажем, 10 секунд, будут ли точки данных снимком того, что используется ЦП в этот 10-секундный интервал, или средним значением использования за последние 10 секунд? Казалось бы, естественно, первое, а не второе, но между мной и моими коллегами возникла некоторая путаница, и я хотел уточнить.
Обе. :)
Некоторые вещи, такие как доступный МБ на диске, могут быть моментальным снимком - нет причин для усреднения.
Однако такие вещи, как производительность процессора, «готовятся» с использованием «типа приготовления» или формулы. Итак, в основном это средний показатель. http://msdn.microsoft.com/en-us/library/aa392761%28VS.85%29.aspx
Мне пришлось написать что-то, что измеряло бы необработанные счетчики производительности через два интервала, а затем проделал некоторую математику на основе времени между ними. Вы не получите тех же значений, что и в perfmon, если не проведете математику на основе времени - так что это среднее значение.
Вы можете найти в MSDN, какая формула управляет необработанными данными о производительности того, что вы ищете (использование сети, производительность процесса и т. Д.), Для того, что вы хотите, и увидеть тип приготовления для этого - чтобы закрепить ваши дебаты с коллегами.
http://msdn.microsoft.com/en-us/library/ms974615.aspx
Выдержка из статьи:
Here's the actual formula for PERF_COUNTER_COUNTER:
(CounterValue2 - CounterValue1) / ((TimeValue2 - TimeValue1) / TimeBase)