Windows 系統指標分析
Memory:內存使用情況可能是系統性能中最重要的因素如果系統頁交換頻繁說明內存不足頁交換是使用稱為頁面的單位將固定大小的代碼和數據塊從 RAM 移動到磁盤的過程其目的是為了釋放內存空間盡管某些頁交換使 Windows 能夠使用比實際更多的內存也是可以接受的但頻繁的頁交換將降低系統性能減少頁交換將顯著提高系統響應速度要監視內存不足的狀況請從以下的對象計數器開始
Available Mbytes:可用物理內存數 如果Available Mbytes的值很小( MB 或更小)則說明計算機上總的內存可能不足或某程序沒有釋放內存
page/sec: 表明由於硬件頁面錯誤而從磁盤取出的頁面數或由於頁面錯誤而寫入磁盤以釋放工作集空間的頁面數一般如果pages/sec持續高於幾百那麼您應該進一步研究頁交換活動有可能需要加增內存以減少換頁的需求(你可以把這個數字乘以k就得到由此引起的硬盤數據流量)Pages/sec 的值很大不一定表明內存有問題而可能是運行使用內存映射文件的程序所致
page read/sec:頁的硬故障page/sec的子集為了解析對內存的引用必須讀取頁文件的次數阈值為> 越低越好大數值表示磁盤讀而不是緩存讀
由於過多的頁交換要使用大量的硬盤空間因此有可能將導致將頁交換內存不足與導致頁交換的磁盤瓶徑混淆因此在研究內存不足不太明顯的頁交換的原因時您必須跟蹤如下的磁盤使用情況計數器和內存計數器
Physical Disk\ % Disk Time
Physical Disk\ AvgDisk Queue Length
例如包括 Page Reads/sec 和 % Disk Time 及 AvgDisk Queue Length如果頁面讀取操作速率很低同時 % Disk Time 和 AvgDisk Queue Length的值很高則可能有磁盤瓶徑但是如果隊列長度增加的同時頁面讀取速率並未降低則內存不足
要確定過多的頁交換對磁盤活動的影響請將 Physical Disk\ AvgDisk sec/Transfer 和 Memory\ Pages/sec 計數器的值增大數倍如果這些計數器的計數結果超過了 那麼頁交換將花費百分之十以上的磁盤訪問時間如果長時間發生這種情況那麼您可能需要更多的內存
Page Faults/sec:每秒軟性頁面失效的數目(包括有些可以直接在內存中滿足而有些需要從硬盤讀取)較page/sec只表明數據不能在內存的指定工作集中立即使用
Cache Bytes文件系統緩存(File System Cache)默認情況下為%的可用物理內存如IIS 運行內存不夠時它會自動整理緩存需要關注該計數器的趨勢變化
如果您懷疑有內存洩露請監視 Memory\ Available Bytes 和 Memory\ Committed Bytes以觀察內存行為並監視您認為可能在洩露內存的進程的 Process\Private BytesProcess\Working Set 和Process\Handle Count如果您懷疑是內核模式進程導致了洩露則還應該監視 Memory\Pool Nonpaged BytesMemory\ Pool Nonpaged Allocs 和 Process(process_name)\ Pool Nonpaged Bytes
Pages per second :每秒鐘檢索的頁數該數字應少於每秒一頁
Process
%Processor Time: 被處理器消耗的處理器時間數量如果服務器專用於sql server可接受的最大上限是%
Page Faults/sec:將進程產生的頁故障與系統產生的相比較以判斷這個進程對系統頁故障產生的影響
Work set: 處理線程最近使用的內存頁反映了每一個進程使用的內存頁的數量如果服務器有足夠的空閒內存頁就會被留在工作集中當自由內存少於一個特定的阈值時頁就會被清除出工作集
Inetinfo:Private Bytes:此進程所分配的無法與其它進程共享的當前字節數量如果系統性能隨著時間而降低則此計數器可以是內存洩漏的最佳指示器
Processor監視處理器和系統對象計數器可以提供關於處理器使用的有價值的信息幫助您決定是否存在瓶頸
%Processor Time:如果該值持續超過%表明瓶頸是CPU可以考慮增加一個處理器或換一個更快的處理器
%User Time:表示耗費CPU的數據庫操作如排序執行aggregate functions等如果該值很高可考慮增加索引盡量使用簡單的表聯接水平分割大表格等方法來降低該值
%Privileged Time(CPU內核時間)是在特權模式下處理線程執行代碼所花時間的百分比如果該參數值和Physical Disk參數值一直很高表明I/O有問題可考慮更換更快的硬盤系統另外設置Tempdb in RAM減低max async IOmax lazy writer IO等措施都會降低該值
此外跟蹤計算機的服務器工作隊列當前長度的 Server Work Queues\ Queue Length 計數器會顯示出處理器瓶頸隊列長度持續大於 則表示可能出現處理器擁塞此計數器是特定時間的值而不是一段時間的平均值
% DPC Time:越低越好在多處理器系統中如果這個值大於%並且Processor:% Processor Time非常高加入一個網卡可能會提高性能提供的網絡已經不飽和
Thread
ContextSwitches/sec: (實例化inetinfo 和dllhost 進程) 如果你決定要增加線程字節池的大小你應該監視這三個計數器(包括上面的一個)增加線程數可能會增加上下文切換次數這樣性能不會上升反而會下降如果十個實例的上下文切換值非常高就應該減小線程字節池的大小
Physical Disk:
%Disk Time %:指所選磁盤驅動器忙於為讀或寫入請求提供服務所用的時間的百分比如果三個計數器都比較大那麼硬盤不是瓶頸如果只有%Disk Time比較大另外兩個都比較適中硬盤可能會是瓶頸在記錄該計數器之前請在Windows 的命令行窗口中運行diskperf yD若數值持續超過%則可能是內存洩漏
AvgDisk Queue Length:指讀取和寫入請求(為所選磁盤在實例間隔中列隊的)的平均數該值應不超過磁盤數的~ 倍要提高性能可增加磁盤注意一個Raid Disk實際有多個磁盤
Average Disk Read/Write Queue Length:指讀取(寫入)請求(列隊)的平均數
Disk Reads(Writes)/s: 物理磁盤上每秒鐘磁盤讀寫的次數兩者相加應小於磁盤設備最大容量
Average Disksec/Read: 指以秒計算的在此盤上讀取數據的所需平均時間
Average Disk sec/Transfer:指以秒計算的在此盤上寫入數據的所需平均時間
Network Interface
Bytes Total/sec :為發送和接收字節的速率包括幀字符在內判斷網絡連接速度是否是瓶頸可以用該計數器的值和目前網絡的帶寬比較
From:http://tw.wingwit.com/Article/os/xtgl/201311/8685.html