Window 性能計數器

Window 性能計數器

Window性能計數器(Performance Counter),也叫性能監視器,實際上是Windows NT/2000提供的一種系統功能,它能實時採集、分析系統內的應用程式、服務、驅動程式等的性能數據,以此來分析系統的瓶頸、監視組件的表現,最終幫助用戶進行系統的合理調配。這裡,還要引入一個性能對象(Performance Object)的概念,即被監視者。一般系統中的性能對象包括處理器(Processor)、進程(Process)、執行緒(Thread)、網路通訊(如TCP、UDP、ICMP、IP等)、系統服務(如ACS/RSVP Service)等。PerfMon.exe中可以查看性能對象、性能計數器和對象實例,可通過添加計數器來查看相關描述信息。

基本介紹

實際上,可以通過編寫程式來訪問所有的Windows性能計數器。Windows中,註冊表是訪問性能計數器的一種機制。性能信息並不實際存在於註冊表中,在註冊表編輯器RegEdit.exe中是無法查看的,但可以通過註冊表函式來訪問,利用註冊表鍵來獲得從性能數據提供者那裡提供的數據。打開名為HKEY_PERFORMANCE_DATA的特殊鍵,利用RegQueryValueEx函式查詢鍵下面的值,就可以直接訪問註冊表性能計數器信息。當然,也可以利用性能數據幫助器(PDH, Performance Data Helper) API (Pdh.dll)來訪問性能計數器信息。

相關術語

性能對象

性能對象(Performance Object):被監視的性能對象,如Processor、Process、Memory、PhysicalDisk等,相當於類(Class)。

性能對象有兩種:一種只支持一個實例,另一種支持多個實例。(我們關心的進程對象支持多個實例,而每個實例對應系統中的一個進程。)一個對象可以有多個性能指標;每個性能指標都用一個計數器(Counter)來記錄。就進程對象而言,它擁有的計數器種類包括ID Process(進程的PID)、Thread Count(執行緒數)、Priority Base(進程優先權)、IO Read Bytes/sec(每秒IO讀取位元組數)、IO Writer Bytes/sec(每秒IO寫出位元組數)等。(本文我們只關心ID Process計數器的值。)

性能計數器

性能計數器(Performance Counter):描述性能對象性能信息的方式,相當於類屬性。

Performance Counter Performance Counter

編程訪問

MSDN---You can consume performance data using either the registry interface or the PDH interface. The PDH interface is easier to use than the registry interface and is recommended for most performance data collection tasks. The PDH interface is essentially a higher-level abstraction of the functionality that the registry interface provides.

編程方式訪問 Performance Counter 主要有:註冊表和PDH兩者方式,後者相對來說更簡單。

相關詞條

熱門詞條

聯絡我們