iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
Software Development

妄想對自己的Windows優化兼Debug的工程師很正常吧系列 第 27

效能監視器--Windows的隱藏監控器

今天要講的是效能監視器(Performance Monitor),他是Windows內建的監控程式之一,可以產生圖表,紀錄事件匯出報告,還可以設定排程去紀錄,對檢查電腦效能也是一項重要的工具,先前我們有介紹過ProcessMonitor,今天這個工具有點類似他,但有更好的圖形化介面,還有組織過的一些範本,不會出現雜亂無章的程序不知該如何過濾,對於非專業使用者比較友善,是一個經過歷代整合的系統性能分析工具,對我們檢查系統也很有幫助,下面就來介紹給各位~


概觀

效能監視器算是一個經過各代Windows革新後的產物之一,如果要檢測電腦的狀態,一般人可能會用工作管理員,進階一點可能會用資源檢視器,因為後來Windows在工作管理員的效能中放了連結,大家似乎就越來越認識他了,如果你曾經跟筆者一樣在控制台到處亂點過或許也會找到一個叫可靠性監視器的東西,顯示Windows的錯誤和更新事件。
Imgur

於是在各種整合下,官網也對這些工具一並闡述,後來出現了一個叫效能監視器的東西,但是現在又漸漸的分隔為獨立的程式,我們可以在CMD輸入perfmon.msc或perfmon.exe執行他,在監視工具按右鍵就會看到這裡也可以連結到剛剛提的兩個監控程式。
Imgur

下面我們照目錄夾往下說明吧
Imgur


監視工具-效能監視器

Imgur
他大概像這樣子中間有條垂直線會更新目前的狀態曲線,右上數來第三個按鈕可以切換呈現的方式變成長條圖或是文本報告,下面會顯示所有折線的內容,原先已經勾的%Processor Time是處理器時間百分比的意思,也就是CPU利用率。

我們點選上面的綠色加號可以新增要檢視的內容,這裡我們假設要做個硬碟讀寫的監控,我選了下面幾個計數器(counter)當作監控值,他們可以在Physical Disk效能物件中找到,點選新增加到新增的計數器中按確定即可。

  • %Disk Read Time:選中磁碟忙於服務”讀”請求的時間的百分比
  • %Disk Write Time:選中磁碟忙於服務”寫”請求的時間的百分比
  • %Disk Time:磁碟讀和寫時間百分比的總和
  • %Idle Time:磁碟在取樣時間間隔中,處於空閒狀態的時間百分比
  • Disk Reads Bytes/sec:磁碟上每秒讀位元組
  • Disk Writes Bytes/sec:磁碟上每秒寫位元組
    Imgur

像這樣就可以看到磁碟讀寫的紀錄,如果沒什麼動靜可以試著下載檔案或開啟大小較大的檔案來引起磁碟的寫入和讀取。
Imgur

下面雙擊可以打開計數器的內容改變線條顏色或是粗細大小等等,而在Disk Reads Bytes/sec和Disk Writes Bytes/sec的比例要挑小一點,因為這兩個值不是百分比所以要除一定比例才能在y軸中看出數值不會跟其他值差異太大,旁邊的一般可以設定採樣間隔,外觀可以改變圖表底色等等。
Imgur

從這次的記錄我們可以發現,在開啟大型檔案的時候磁碟會有讀取的動作也就是Disk Reads Bytes/sec的粉紅線波峰,%Disk Time和%Idle Time相加就會是讀取+寫入+空閒的時間百分比會大致等於一百,呈現一高一低的對比,平常使用的話讀取百分比不會太大,好了以後可以列印成PDF。

如果未來想記住這些設定可以在圖表按右鍵選擇另存設定為…,可以儲存成.htm檔,下次要用再複製裡面的文字,按上方工列的貼上計數器清單就會回復設定了,或者在CMD開啟的時候加入/sys參數,下次開啟就會照這組設定啟動。

perfmon.exe /sys

資料收集器集合工具

我們先點選使用者定義,右鍵新增一個資料收集器集合工具,如果選擇從範本建立可以採用系統預設推薦的一些紀錄設定,通常System Performance可以滿足大部分的需求。
Imgur

這裡我們示範手動建立的進階選項,選擇建立資料紀錄,這裡示範效能計數器,如果勾選效能計數器警報則會在某些監測值超過設定的閾值後發出警報。
Imgur

設定要記錄的計數器,可以改變抽樣間隔。
Imgur

紀錄儲存的位置會在們先前提到的PerLogs資料夾~後面執行身分選擇預設就可以了
Imgur

好了以後我們對新建立的資料收集器集合工具右鍵-內容,可以設定停止條件跟排程,或是直接右鍵開始就可以開始記錄了。
Imgur
Imgur


報告

在開始1分鐘後我們可以到使用者定義找到留下的報告,前幾秒鐘似乎因為在等待監視器啟動所以沒記錄到,右鍵一樣可以存下影像資料等等,如果想要取出完整檔案也可以到剛剛設定的PerLogs資料夾裡找,這樣的報告適合在我們想找出電腦某些資源消耗不正常,可以重複一次當時情況,並設定排程時間開啟在背景去監控他。
Imgur

其實效能監視器還有各種設定可以做到,這裡只是介紹最基本的使用方式,有興趣的話可以自己四處點點看,或是到CMD查詢logman /?你也會有新發現(埋下伏筆是想讓大家自己去玩,絕對不是筆者想偷懶喔XD),除了注意計數器不要開太多讓記憶體負荷不住,這也是個可以自己隨意玩玩的隱藏工具。

今天就介紹到這裡,下篇筆者來介紹一下最近剛好在研究的cmd和powerShell的指令,因為我們這一路上有各種程式都可以用到這些提示字去操作,雖然圖形化的介面很友善,但是在小事情上不大材小用的處理方式常常是用這些最基礎的指令,對於Windows的內建程式這是非常有利的工具,讓我明天來跟各位聊聊這些吧~

Imgur

參考資料:
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc749154(v=ws.10)
https://www.tonylin.idv.tw/dokuwiki/doku.php/pc:goodsoftware:perf_monitor:basic_monitoring
https://ithelp.ithome.com.tw/questions/10066981
https://www.itread01.com/p/883322.html
https://help.tableau.com/current/server/zh-tw/perf_collect_perfmon.htm
https://www.youtube.com/watch?v=S8xVYdgNpsQ
https://www.youtube.com/watch?v=zZA8IFfSKxQ
https://docs.microsoft.com/zh-tw/windows-server/administration/windows-commands/logman


上一篇
工作排程器--Windows的忠實程序秘書
下一篇
命令提示字元--CMD那麼好用你不學一下嗎?
系列文
妄想對自己的Windows優化兼Debug的工程師很正常吧30

尚未有邦友留言

立即登入留言