2013-03-20 129 views
2

我正在編寫一個客戶端來從Windows機器收集性能數據。這些數據將被髮送到存儲信息並以圖形方式顯示的中央服務器。在Perfmon中找到的CPU百分比

我正在使用windows性能API來收集系統數據。但現在我有一個小問題。服務器需要知道我發送的數據是如何相互關聯的,並且我無法在網絡上找到有關CPU計數器的任何有用信息。我的問題是這些計數器如何相互關聯。

%處理器時間+%的空閒時間= 100%

這不是太硬,找出但我不能找到象中斷的其它百分比值的任何信息時間,特權時間或用戶時間。例如,如何將這些與處理器時間相關聯。最終目標是添加所有這些值,並最終獲得100%。

在此先謝謝您,並對我的英語感到抱歉,希望我的問題很明確。

回答

3

This article makes clear(段落結尾 「將是15%」),其

%特權時間+%用戶時間+%空閒時間= 100%

這意味着所有其他CPU時間測量是這三種測量中的一種的子集。 perfmon中的「計數器描述」描述了其中大多數人的關係,例如:

%DPC時間是%特權時間的一個組成部分,因爲DPC在特權模式下執行。

%中斷時間沒有像這樣記錄,但它顯然也是特權時間的一個組件。

+0

嗨,我還在測試。由於四捨五入/準確性問題,計算%特權時間+%用戶時間+%空閒時間時,似乎得到不正確的結果。然後我只用原始計數器來計算百分比,我接近100%(我得到的結果是99.98%)。但我仍然試圖從其他值計算總特權時間,因爲我不能100%確定哪些值與特權時間有關。 – roohan 2013-03-26 08:16:45

+0

這是預期的。這些計數器並不完全準確,所以它們不會精確到100%。我不認爲你可以從其他計數器組裝特權時間。這將是類似「dpc時間+中斷時間+其他未分類的特權時間」,而後者不是一個單獨的計數器。 – arx 2013-03-26 09:20:35

+0

是的,我想我無法在windows上獲得這些細節。謝謝您的回答。 – roohan 2013-03-26 16:15:58