一、Perfmon簡介
Perfmon(Performance Monitor)是一款Windows自帶的性能監控工具,提供了圖表化的系統性能實時監視器、性能日志和警報管理。通過添加性能計數器(Performance Counter)可以實現對CPU、內存、網絡、磁盤、進程等多類對象的上百個指標的監控。其中,性能日志可定義輸出格式為二進制文件、文本文件、SQLSERVER記錄等,以方便后續使用第三方工具進行分析。
二、Perfmon的啟用和監控設置
Perfmon使用方法:
2.1 Windows開始中輸入perfmon后回車,即可打開perfmon.exe
2.2 點擊性能監視器;
2.3 在右窗格中單擊右鍵,然后單擊“添加計數器”;或點擊監控圖上方的"+"也可以打開添加計數器的窗口;
2.4 在性能對象列表中,選擇所需的性能指標計數器類別,以在Perfmon.exe中顯示對應指標的監控圖形,然后單擊【添加】-->【確認】
2.5 在計數器勾選區域:
選中監控圖底部的某個計數器,右鍵【屬性】,可編輯該計數器的線條顏色、寬度等樣式
2.6 通過切換點擊不同的計數器類別,可實時觀察到所統計的【最新值、平均值、最小值、最大值、持續時間】
2.7 在監控圖區域
右鍵【屬性】,可設置采樣的持續時間(默認100s)、每間隔多少時間采樣一次
右鍵【圖形另存為】,可將本地性能監控的采樣圖保存到本地
右鍵【清除】,可將當前監控上的采樣圖清空,而后從左至右繼續開始新的采樣圖
三、性能分析方法
1.內存分析方法
內存分析:用於判斷系統有無內存瓶頸,是否需要通過增加內存等手段提高系統性能表現
內存分析的主要方法和步驟:
(1)首先查看Memory:% Commitued Bytes in Use
指標
如果該指標數值比較大,系統可能出現了內存方面的問題,需要繼續下面步驟進一步分析。
另外也可以查看Available Bytes
,如果該值小,則說明可用內存不足,存在性能瓶頸。
(2)注意Pages/sec
、Pages Read/sec
和Page Faults/sec
的值
操作系統會利用磁盤較好的方式提高系統可用內存量or提高內存的使用效率,這三個指標直接反應了操作系統進行磁盤交換的頻度。
Pages/sec
值持續高於幾百,可能有內存問題;Pages/sec
值不一定大就表明有內存問題,可能是運行使用內存映射文件的程序所致。
Page Faults/sec
說明每秒發生頁面失效次數,頁面失效次數越多,說明操作系統向內存讀取的次數越多。此時需要查看Pages Read/sec
的計數值,該計數器的閥值為5,如果計數值>5,則可以判斷存在內存方面的問題。
2.處理器分析法
(1)首先看System:% Total Processor Time
性能計數器的計數值
該計數器的數值體現服務器整體處理器的利用率,對多處理器的系統而言,該計數器體現的是所有CPU的平均利用率。如果該值持續超過90%,則說明整個系統面臨着處理器方面的瓶頸,需要通過增加處理器來提高性能。
(2)其次查看每個CPU的% User Time
%User Time
是系統的非核心操作消耗的CPU時間,如果該值較大,可以考慮是否能通過友好算法等方法降低這個值。如果該服務器是數據庫服務器,%User Time
值大的原因很可能是數據庫的排序或是函數操作消耗了過多的CPU時間,此時可以考慮對數據庫系統進行優化。
(3)研究系統處理器瓶頸:查看System:Processor Queue Length
計數器的值
當該計數器的值 > (CPU數量的總數+1)時,說明產生了處理器阻塞。在處理器的% Process Time
很高時,一般都隨處理器阻塞,但產生處理器阻塞時,Processor:%Process Time
計數器的值並不一定很大,此時就必須查找處理器阻塞的原因。
3.磁盤I/O分析方法
(1)計算每磁盤的IO數
每磁盤的I/O數可用來與磁盤的I/O能力進行對比,如果經過計算得到的每磁盤I/O數超過了磁盤標稱的I/O能力,則說明確實存在磁盤的性能瓶頸。
4.網絡分析方法
(1)Network Interface:Bytes Total/sec
Bytes Total/sec
為發送和接收字節的速率,可以通過該計數器值來判斷網絡鏈接速度是否是瓶頸,具體操作方法是用該計數器的值和目前網絡的帶寬進行比較。