WMI 工作:效能監視
使用從性能計數器取得數據的 WMI 類別,以存取和重新整理電腦效能的相關數據。 如需其他範例,請參閱techNet ScriptCenter at https://www.microsoft.com/technet。 如需詳細資訊,請參閱 效能連結庫和 WMI 和 監視效能資料。
本主題中顯示的腳本範例只會從本機計算機取得數據。 如需了解如何使用腳本從遠端電腦取得資料的詳細資訊,請參閱 如何在遠端電腦上連線到 WMI。
下列程式描述如何執行腳本。
執行腳本
- 複製程序代碼,並將它儲存在擴展名為 .vbs 的檔案中,例如 filename.vbs。 請確定文字編輯器不會將 .txt 擴展名新增至檔案。
- 開啟命令提示字元視窗,並瀏覽至您儲存檔案的目錄。
- 在命令提示字元中輸入 cscript filename.vbs。
- 如果您無法存取事件記錄檔,請檢查您是否正在從提高許可權的命令提示字元執行。 某些事件記錄檔,例如安全性事件記錄檔,可能會受到使用者訪問控制 (UAC) 的保護。
注意
根據預設,cscript 會在命令提示字元視窗中顯示文稿的輸出。 由於 WMI 命令稿可能會產生大量的輸出,因此您可能會想要將輸出重新導向至檔案。 在命令提示字元中輸入 cscript filename.vbs > outfile.txt,將 filename.vbs 的輸出重新導向至 outfile.txt。
下表列出可用來從本機計算機取得各種數據類型的腳本範例。
如何... | WMI 類別或方法 | ||
---|---|---|---|
...取得可在腳本中的 Perfmon 公用程式中看到的性能計數器數據? | 使用名稱開頭為 「Win32_PerfFormattedData」 的類別,例如 Win32_PerfFormattedData_PerfProc_Process。 具有 PageFileBytes 名稱的屬性會對應至您在 Perfmon 中看到的性能計數器。 “Win32_PerfFormattedData” 類別會為您計算計數器的最終值。 |
||
...取得單一程序、磁碟機及其他資料的持續效能數據? | 使用 Win32_PerfFormattedData_PerfProc_Process 或正確格式化的 性能計數器類別 和 SWbemObjectEx.Refresh_ 方法。 如需詳細資訊,請參閱 使用 SWbemObject 撰寫腳本。 在 C++ 中,使用 IWbemConfigureRefresher::AddObjectByPath 和 IWbemRefresher::Refresh。 如需詳細資訊,請參閱 監視效能資料。 下列腳本會執行,直到計算機重新啟動、WMI 停止或腳本停止為止。 若要手動停止文稿,請使用任務管理器來停止進程。 若要以程式設計方式停止,請使用 Win32_Process 類別中的 Terminate 方法。
|
||
...取得所有進程的持續效能數據,而不重複輪詢? | 使用名稱以「Win32_PerfFormattedData」開頭的類別和 SWbemRefresher 物件。 重新整理器會保留 物件,因此您不需要重複取得集合。 計算效能數據至少需要兩個值,因為大多數計數器都是速率計數器。 第一次顯示刷新後的數據時,它是空的。 下列腳本會無限期執行,直到計算機重新啟動、WMI 停止或腳本停止為止。 若要手動停止文稿,請使用任務管理器來停止進程。 若要以程式設計方式停止,請使用 Win32_Process 類別中的 Terminate 方法。
|
||
如何取得和計算 Windows 2000 上程式的效能資料? | 使用 「Win32_PerfRawData」 類別,例如 Win32_PerfRawData_PerfProc_Process。 獲取屬性資料,例如 PercentProcessorTime,並重複兩次針對特定進程。 請查閱在 CounterType 限定符中指定的公式,然後進行計算。 範例中的 CounterType 的識別符號為 PERF_100NSEC_TIMER_INV。 如需詳細資訊,請參閱 監視效能資料。 下列腳本會無限期執行,直到計算機重新啟動、WMI 停止或腳本停止為止。 若要手動停止文稿,請使用任務管理器來停止進程。 若要以程式設計方式停止,請使用 Win32_Process 類別中的 Terminate 方法。
|