我特别想知道“进程/处理器时间百分比”计数器。如果您将其设置为 10 秒的间隔,那么数据点是该 10 秒间隔内 CPU 利用率的快照,还是过去 10 秒利用率的平均值?似乎自然是前者,而不是后者,但我和我的同事之间有些困惑,我想澄清一下。
答案1
两个都。 :)
有些东西(例如磁盘上的可用 MB)将是快照 - 没有理由对其进行平均。
但是,处理器性能等因素是使用“烹饪类型”或公式“烹饪”的。因此,基本上这是一个平均值。 http://msdn.microsoft.com/en-us/library/aa392761%28VS.85%29.aspx
我必须编写一个程序,以两个间隔获取原始性能计数器,然后根据时间间隔进行一些数学运算。如果不根据时间进行数学运算,您将无法获得与 perfmon 中相同的值 - 因此这是一个平均值。
您可以在 MSDN 上搜索哪个公式控制您要查找的内容(净利用率、proc perf 等)的原始性能数据,并查看它的 cookingtype - 以结束与同事的辩论。
http://msdn.microsoft.com/en-us/library/ms974615.aspx
文章摘录:
Here's the actual formula for PERF_COUNTER_COUNTER:
(CounterValue2 - CounterValue1) / ((TimeValue2 - TimeValue1) / TimeBase)