使用typeperf監控系統資源


  昨天在對一個程序進行內存溢出的檢測,需要對該程序的內存長時間進行監控,結束后,通過excel的統計圖觀察內存是否處於增長趨勢。針對這塊的監控,很多人常用的做法就是使用windows自帶的性能監控工具,呵呵,是相當的簡單,不過我還是比較喜歡命令行的方式,這跟我平時喜歡搞自動化有點關系吧。

  今天就來跟大家介紹下typeperf這個命令,以及簡單的常用技巧。

  關於typeperf就不詳細介紹了,你就把它當作是性能監控工具(windows自帶)的命令行版本就行了,微軟提供的一個命令行下的監控工具,收集性能計數器性能數據。Typeperf -?可以用來查看該命令的具體幫助。

  在進行監控之前首選需要確定我們要監控的內容,是要監控內存、CPU、磁盤、網絡等等?每種性能計數器都會有自己的名稱,首先第一步確定我們要監控內容的性能計數器的名稱。

有兩種辦法:

  方法一:通過性能監視器,添加我們需要的性能計數器,有些計數器需要選擇對應的實例,也就是你需要監控哪個進程的性能,選擇添加完計數器后,點擊確定按鈕。

   這時會在性能監視器主窗口顯示所選擇的性能計數器的數據統計趨勢,右擊主窗口空白處,彈出的菜單中選擇“屬性”菜單。

   在監視器的 屬性對話框中數據選項卡里,可以很清楚的看到性能計數器具體的名稱。將其一個個抄寫一遍至文本文件吧,不知道能否復制,可以嘗試下。

  方法二:第二種方法也是我推薦的一種方法,在命令行下使用typeperf -qx來進行過濾,前提是你需要對幾類性能計數器要有所了解,知道其簡單的單詞拼寫,這塊大家簡單記錄下就OK了,也就那幾種常用的,進程、磁盤、網絡、內存等進程后期我會整理下。進程性能計數器開頭都是Process,內存相關的是Memory等等。可以通過typeperf -qx導出所有的性能計數器,通過 重定向將返回結果導出到文本中,例如:typeperf -qx > all_counters.txt,在該文本中尋找你所需要的計數器吧【太多了,你得通過關鍵詞查找的方式一遍遍過濾】。

  使用typeperf -qx執行過程中可以過濾么?答案是可以的。看下面的截圖,qx參數后面有個object的選項,跟具體的計數器名稱。這個名稱需要自己記了。

  Typeperf -q  typeperf -qx的區別,自己針對性的執行一遍看看吧,相信你會理解的。

  下面來舉個例子,例如我想監控某個OUTLOOK進程的cpu、內存:

  1、我們這次是監控某一個具體的進程,是一個具體的實例,那么肯定使用typeperf -qx,進程的計數器名稱為Process,因此執行命令typeperf -qx Process

  2、執行完后,相信你會看到很多的內容,實例都在Process后面括號中區別體現,通過任務管理器確定我們的outlook的具體進程,查看后得出進程為OUTLOOK.EXE,為大寫,typeperf中對大小寫敏感,這點需要注意,那么實例的名字就是OUTLOOK,對應就是Process(OUTLOOK),如何在剛才的結果中過濾出帶有OUTLOOK的字符串的計數器呢?使用FIND命令配合管道,typeperf -qx Process | FIND "OUTLOOK",執行完后你會發現關於OUTLOOK這個進程的相關的性能計數器都列出來了,而且不是很多,手工復制都可以了,呵呵。

  3、接下來可以通過FIND命令繼續進行過濾,例如過濾typeperf -qx Process | FIND "OUTLOOK" | FIND "Processor"

  過濾完后只有一條了,正是我們所需要的cpu的計數器。通過重定向將返回結果輸出至counters.txt文件中。

  4、繼續過濾與內存相關的

  繼續使用重定向進行追加,大家需要注意這里使用的是追加重定向

  追加完后查看下我們的counters.txt文件內容

  5、接下來使用typeperf命令來對這些性能計數器進行監控,使用命令

  TYPEPERF -f CSV -o MyCounters.csv -si 15 -cf counters.txt -sc 240

  參數說明可參考typeperf -?

  -f:表示輸出文件類型

  -o:表示輸出文件名稱

  -si:表示性能計數器數據采集周期(每個多少秒采集一次,注意格式)

  -cf:表示性能計數器的配置文件(就是之前我們做好的counters.txt

  -sc:表示總共需要收集多少次

  以上命令表示每隔15秒收集一次,總共收集240次,總共耗時15*240 = 15*60*4 = 3,600 = 1小時,表示對OUTLOOK進程的CPU以及內存進行1個小時的監控。

  6、執行完后,在C:\Users\Administrator目錄下會生成 MyCounters.csv文件,打開后就跟excel一樣,選中一列,插入統計圖表,可以非常直觀的看到某一性能計數器在一小時內的走向

 

  本次分享結束

  最后還有一些問題,例如具體需要監控哪些內容,以及性能分析方面的問題大家可以發散思考下。監控只是一種手段,是為了方便我們接下來的分析。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM