Windows 系統(tǒng)指標分析:
Memory:內(nèi)存使用情況可能是系統(tǒng)性能中最重要的因素。如果系統(tǒng)“頁交換”頻繁,說明內(nèi)存不足。“頁交換”是使用稱為“頁面”的單位,將固定大小的代碼和數(shù)據(jù)塊從 RAM 移動到磁盤的過程,其目的是為了釋放內(nèi)存空間。盡管某些頁交換使 Windows 2000 能夠使用比實際更多的內(nèi)存,也是可以接受的,但頻繁的頁交換將降低系統(tǒng)性能。減少頁交換將顯著提高系統(tǒng)響應(yīng)速度。要監(jiān)視內(nèi)存不足的狀況,請從以下的對象計數(shù)器開始:
Available Mbytes:可用物理內(nèi)存數(shù). 如果Available Mbytes的值很小(4 MB 或更小),則說明計算機上總的內(nèi)存可能不足,或某程序沒有釋放內(nèi)存。
page/sec: 表明由于硬件頁面錯誤而從磁盤取出的頁面數(shù),或由于頁面錯誤而寫入磁盤以釋放工作集空間的頁面數(shù)。一般如果pages/sec持續(xù)高于幾百,那么您應(yīng)該進一步研究頁交換活動。有可能需要加增內(nèi)存,以減少換頁的需求(你可以把這個數(shù)字乘以4k就得到由此引起的硬盤數(shù)據(jù)流量)。Pages/sec 的值很大不一定表明內(nèi)存有問題,而可能是運行使用內(nèi)存映射文件的程序所致。
page read/sec:頁的硬故障,page/sec的子集,為了解析對內(nèi)存的引用,必須讀取頁文件的次數(shù)。閾值為>5. 越低越好。大數(shù)值表示磁盤讀而不是緩存讀。
由于過多的頁交換要使用大量的硬盤空間,因此有可能將導(dǎo)致將頁交換內(nèi)存不足與導(dǎo)致頁交換的磁盤瓶徑混淆。因此,在研究內(nèi)存不足不太明顯的頁交換的原因時,您必須跟蹤如下的磁盤使用情況計數(shù)器和內(nèi)存計數(shù)器:
以下是代碼片段: Physical Disk\ % Disk Time Physical Disk\ Avg.Disk Queue Length |
例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果頁面讀取操作速率很低,同時 % Disk Time 和 Avg.Disk Queue Length的值很高,則可能有磁盤瓶徑。但是,如果隊列長度增加的同時頁面讀取速率并未降低,則內(nèi)存不足。
要確定過多的頁交換對磁盤活動的影響,請將 Physical Disk\ Avg.Disk sec/Transfer 和 Memory\ Pages/sec 計數(shù)器的值增大數(shù)倍。如果這些計數(shù)器的計數(shù)結(jié)果超過了 0.1,那么頁交換將花費百分之十以上的磁盤訪問時間。如果長時間發(fā)生這種情況,那么您可能需要更多的內(nèi)存。
Page Faults/sec:每秒軟性頁面失效的數(shù)目(包括有些可以直接在內(nèi)存中滿足而有些需要從硬盤讀取)較page/sec只表明數(shù)據(jù)不能在內(nèi)存的指定工作集中立即使用。
Cache Bytes:文件系統(tǒng)緩存(File System Cache),默認情況下為50%的可用物理內(nèi)存。如IIS5.0 運行內(nèi)存不夠時,它會自動整理緩存。需要關(guān)注該計數(shù)器的趨勢變化
如果您懷疑有內(nèi)存泄露,請監(jiān)視 Memory\ Available Bytes 和 Memory\ Committed Bytes,以觀察內(nèi)存行為,并監(jiān)視您認為可能在泄露內(nèi)存的進程的 Process\Private Bytes、Process\Working Set 和Process\Handle Count。如果您懷疑是內(nèi)核模式進程導(dǎo)致了泄露,則還應(yīng)該監(jiān)視 Memory\Pool Nonpaged Bytes、Memory\ Pool Nonpaged Allocs 和 Process(process_name)\ Pool Nonpaged Bytes。
Pages per second :每秒鐘檢索的頁數(shù)。該數(shù)字應(yīng)少于每秒一頁。