Windows性能计数器数据点是提供快照还是先前时间间隔的平均值?

我想知道具体关于“过程/%处理器时间”计数器。 如果将其设置为例如10秒的时间间隔,数据是否指示该CPU使用率在该10秒间隔处的快照,或者过去10秒内的平均使用率? 看起来自然是前者而不是后者,但是我和我的同事之间也有一些混淆,我想澄清一下。

都。 🙂

有些东西像磁盘上可用的MB会是一个快照 – 没有理由来平均。

然而,像处理器性能这样的东西是使用“烹饪types”或公式“烹饪”的。 所以,基本上这是一个平均值。 http://msdn.microsoft.com/en-us/library/aa392761%28VS.85%29.aspx

我不得不写两个时间间隔的原始性能计数器,然后根据时间进行一些math计算。 你不会得到与你在perfmon中看到的相同的值,而不会根据时间进行math运算 – 所以这是一个平均值。

您可以searchMSDN,找出您想要的东西的原始性能数据(networking利用率,处理性能等),并查看烹饪types – 以便与您的同事进行辩论。

http://msdn.microsoft.com/en-us/library/ms974615.aspx

摘自文章:

Here's the actual formula for PERF_COUNTER_COUNTER: (CounterValue2 - CounterValue1) / ((TimeValue2 - TimeValue1) / TimeBase)