Windows
Windows 性能計數器數據點是否提供先前間隔的快照或平均值?
我特別想知道“程序/%處理器時間”計數器。如果將其設置為 10 秒的間隔,數據點是該 10 秒間隔的 CPU 使用率的快照,還是過去 10 秒的平均使用率?似乎自然是前者,而不是後者,但我和我的同事之間存在一些混淆,我想澄清一下。
兩個都。:)
有些東西,比如磁碟上的可用 MB 將是一個快照 - 沒有理由對其進行平均。
但是,諸如處理器性能之類的東西是使用“烹飪類型”或公式“烹飪”的。所以,基本上它是一個平均值。 http://msdn.microsoft.com/en-us/library/aa392761%28VS.85%29.aspx
我必須編寫一些東西,以兩個間隔獲取原始性能計數器,然後根據時間間隔進行一些數學運算。如果不根據時間進行數學運算,您將不會獲得與 perfmon 中相同的值 - 所以它是一個平均值。
您可以在 MSDN 中搜尋哪個公式控制您正在尋找的東西的原始性能數據(淨使用率、proc perf 等)以獲得您想要的東西,並查看它的烹飪類型 - 以便與您的同事進行辯論。
http://msdn.microsoft.com/en-us/library/ms974615.aspx
文章摘錄:
Here's the actual formula for PERF_COUNTER_COUNTER: (CounterValue2 - CounterValue1) / ((TimeValue2 - TimeValue1) / TimeBase)