【轉】Windows 性能監視器的基本指標說明(CPU,內存,硬盤參數)
作為一個系統工程師來說,要看懂監控的數據至關重要,關系着優化和分析出現的問題。我是在運維過程中要用到的。因此,今天給出Windows 性能監視器的一些基本指標(CPU,內存,硬盤參數),希望對大家將來優化和分析問題提供幫忙。
直接在window系統中點擊win鍵輸入“性能監視器”就可以看到,參數設置類似這樣:
CPU
- Windows -Processor
指標名稱 |
指標描述 |
指標范圍 |
指標單位 |
CPU利用率 (% Processor Time) |
% Processor Time指處理器執行非閑置線程時間的百分比。這個計數器設計成用來作為處理器活動的主要指示器。它通過在每個時間間隔中衡量處理器用於執行閑置處理線程的時間,並且用100%減去該值得出。可將其視為范例間隔用於做有用工作的百分比。 |
根據應用系統情況,在80%±5%范圍內波動為宜。過低,則服務器CPU利用率不高;過高,則CPU可能成為系統的處理瓶頸。 |
% |
中斷率 (Interrupts/sec.) |
每秒鍾設備中斷處理器的次數。在完成一個任務或需要注意時,裝置會發出中斷訊號給處理器。可以產生中斷的裝置包括系統定時器、鼠標、數據通訊聯機、網絡卡以及其它的外部裝置。在中斷過程中,一般的執行緒執行將被暫停,而且一個中斷可以使處理器切換到另一個具有較高優先等級的執行緒。頻率中斷是頻繁和周期性的,並且中斷動作在背景執行。 |
取決於處理器,越低越好;不宜超過1,000; 如果該值顯著增加而系統活動沒有相應的增加,則表明存在硬件問題,需要檢查引起中斷的網絡適配器、磁盤或其他硬件。 |
次/sec |
系統調用率 System Call/sec. |
指運行在計算機上的所有處理器調用操作系統服務例行程序的綜合速率。這些例行程序執行所有在計算機上的如安排和同步活動等基本的程序,並提供對非圖形設備、內存管理和名稱空間管理的訪問。 |
如果Interrupts/sec大於System Calls/sec.,則系統中某一硬件設備產生過多的中斷。 |
次/sec |
Processor Queue Length |
處理器隊列的線程數量。此計數器只顯示就緒線程,而不是正在運行的線程。 |
如果處理器隊列中總是有兩個以上的線程通常表示處理器堵塞。 |
|
進程切換率 Context Switches/sec |
指計算機上的所有處理器全都從一個線程轉換到另一個線程的綜合速率。當正在運行的線程自動放棄處理器時出現上下文轉換,由一個有更高優先就緒的線程占先或在用戶模式和特權 (內核) 模式之間轉換以使用執行或分系統服務 |
如果此計數器的數值較大,則表明鎖定競爭很激烈,或者線程在用戶和內核模式之間頻繁切換。 |
PS:
-
Processor/% Processor Time
閥值:處理器的閥值一般設為85%。
含義:這個計數器是處理器活動的主要指標。高數值並不一定是壞事,但是如果其他處理器相關的計數器(比如% Privileged Time 或者Processor Queue Length)線性增加的話,高CPU使用率就值得調查了。 -
Processor/% Privileged Time
閥值:如果數值持續大於75%就表示存在瓶頸。
含義:這個計數器表示一個線程在特權模式下所使用的時間比例。當你的程序調用操作系統的方法(比如文件操作,網絡I/O或者分配內存),這些操作系統的方法是在特權模式下運行的。 -
Processor/% Interrupt Time
閥值:取決於處理器
含義:這個計數器表示處理器接收處理硬件中斷所使用的時間比例。這個值間接指出產生中斷的硬件設備活動,比如網絡變化。這個計數器顯著增加的話表示硬件可能存在問題。 -
System/Processor Queue Length
閥值:平均值持續大於2那么表示CPU存在瓶頸
含義:如果就緒的任務超過處理能力線程就會被放進隊列。處理器隊列是就緒但是未能被處理器執行的線程的集合,這是因為另外一個線程正在執行狀態。持續或者反復發生2個以上的隊列則明確的表示存在處理器瓶頸。你也能通過減少並發取得更大的吞吐量。
你可以結合Processor/% Processor Time來決定增加CPU的話你的程序是否能夠受益。即使在多處理器的電腦上,對於CPU時間也是單隊列。因此,在多處理器電腦上,Processor Queue Length (PQL)的值除以用來處理負載的CPU個數。
如果CPU非常忙(90%以上的使用率),PQL的平均值也持續大於2/CPU,這是應該存在CPU瓶頸而且能夠從更多的CPU中受益。或者,你可以減少線程的數量以及增加應用程序層的隊列。這會引起少量的Context Switching,但是少許的Context Switching對於減少CPU負載是有好處的。PQL大於2但是CPU使用率卻不高的的常見原因是對CPU時間的請求隨機到達而且線程卻從處理器申請到不對稱的CPU時間。這意味着處理器並不是瓶頸,而你的線程邏輯是需要改進的。 - System/Context Switches/sec
閥值:按照通常的規律,context switching速率小於5000/秒/CPU是不需要擔心的。如果Context Switching速率達到15000/秒/CPU的話就是一個制約因素了。
含義:當一個高優先級的線程取代一個正在運行的低優先級線程,或者高優先級線程阻塞的時候就會發生Context Switching。大量的Context Switching可以發生在許多線程擁有相同的優先級的情況下,這通常表示有太多的線程競爭CPU,如果你沒有看到太高的處理器使用率而且發現Context Switch非常低,那么表示線程被阻塞。
內存
- Windows -Memory
指標名稱 |
指標描述 |
指標范圍 |
指標單位 |
Pages/sec Pages Input/sec Pages Output/sec Page Fault/sec |
Page Faults/sec 是處理器每秒鍾處理的錯誤頁(包括軟錯誤和硬錯誤)。Pages Input/sec 是為了解決硬錯誤頁,從硬盤上讀取的頁數, 而Page Reads/sec是為了解決硬錯誤,從硬盤讀取的次數。Pages/sec是Pages Input/sec 和Pages Output/sec 的總和。 該系列指標是可以顯示導致系統范圍延緩類型錯誤的主要指示器。 當處理器向內存指定的位置請求一頁(可能是數據或代碼)出現錯誤時,這就構成一個Page Fault。如果該頁在內存的其他位置,該錯誤被稱為軟錯誤( 用Transition Fault/sec衡量); 如果該頁必須從硬盤上重新讀取時, 被稱為硬錯誤。許多處理器可以在有大軟錯誤的情況下繼續操作。但是, 硬錯誤可以導致明顯的拖延。 |
如果Page Reads/Sec持續保持為5,表示可能內存不足。Page/sec推薦0-20。如果服務器沒有足夠的內存處理其工作負荷,此數值將一直很高。如果大於80,表示有問題(太多的讀寫數據操作要訪問磁盤,可考慮增加內存或優化讀寫數據的算法)。 該系列計數器的值比較低, 說明響應請求比較快, 否則可能是服務器系統內存短缺引起(也可能是緩存太大, 導致系統內存太少)。 |
次/sec |
Available Bytes |
顯示出當前空閑的物理內存總量,它等於分配給待機(緩存的)、空閑和零分頁列表內存的總和。 空閑內存可以馬上使用; 清零內存是由零值填滿的內存頁,用來防止后續進程獲得舊進程使用的數據; 待機內存是從進程工作集(其物理內存)中刪除然后進入磁盤的內存,但是該內存仍然可以收回。該指標僅顯示最后一次觀察到的值,不是平均值。 |
當這個數值變小時,Windows開始頻繁地調用磁盤頁面文件。如果這個數值很小,例如小於5 MB,系統會將大部分時間消耗在操作頁面文件上。 一般要保留10%的可用內存。最低不能<4M,此值過小可能是內存不足或內存泄漏。 |
|
Committed Bytes |
是指以字節表示的確認虛擬內存,是磁盤頁面文件上保留空間的物理內存。 |
不超過物理內存的 75% |
|
硬盤參數
- Windows -Disk
指標名稱 |
指標描述 |
指標范圍 |
指標單位 |
% Disk Time |
指所選磁盤驅動器忙於為讀或寫入請求提供服務所用的時間的百分比。 |
正常值<10,此值過大表示耗費太多時間來訪問磁盤,可考慮增加內存、更換更快的硬盤、優化讀寫數據的算法。若數值持續超過80 (此時處理器及網絡連接並沒有飽和),則可能是內存泄漏。 |
|
Current Disk Queue Length |
是在收集性能數據時磁盤上當前的請求數量。它還包括在收集時處於服務的請求。這是瞬間的快照,不是時間間隔的平均值。多軸磁盤設備能有一次處於運行狀態的多重請求,但是其他同期請求正在等待服務。此計數器會反映暫時的高或低的隊列長度,但是如果磁盤驅動器被迫持續運行,它有可能一直處於高的狀態。 |
請求的延遲與此隊列的長度減去磁盤的軸數成正比。為了提高性能,此差應該平均小於二。 |
|
Avg.Disk Queue Length Avg. Disk Read Queue Length Avg. Disk Write Queue Length |
指讀取和寫入請求(為所選磁盤在實例間隔中列隊的)的平均數。 |
Avg.Disk Queue Length正常值<0.5,此值過大表示磁盤IO太慢,要更換更快的硬盤。 |
|