windows 性能監視器

如果要查看系統的內存佔用、CPU佔用等性能信息,大家通常會想到Windows的任務管理器,不過在Windows 2000/XP中還有一個功能更爲強大的工具,可以查看更爲詳細的系統性能信息。通過這些數據可以瞭解系統的工作狀態以及資源的使用情況,而且它還具備日誌記錄和警報功能。根據日誌記錄可以診斷系統性能問題,從而優化系統。通過警報功能則可以監視系統中的性能數據,當達到指定條件時及時通知用戶,可謂是電腦的“火警”監測器(下面主要以Windows XP爲例,Windows 2000基本相同)。

打開“火警”監測器
單擊“控制面板→管理工具→性能”,或在開始菜單“運行”欄中輸入“Perfmon.msc”即可打開系統性能管理工具,在左邊可以看到功能分爲“系統監視器”和“系統日誌和警報”兩大模塊。

系統監視器——透過現象看本質
1.理解重要概念
系統監視器以圖形方式實時顯示出指定系統性能數據。在使用前,首先需要理解一些概念的含義。
(1)性能對象:所謂性能對象,就是指影響系統性能表現最關鍵的幾個部件:CPU、內存、硬盤等。Windows XP從它們那裏獲得性能數據。要監視系統狀態,首先就要選擇這些對象。
(2)性能計數器:上面提到的關鍵部件的性能隨時都在變化,是動態的數據,所以必須有一臺“攝像機”隨時監控它們,並把記錄下來的性能表現隨時回放給我們。每個性能對象的計數器就扮演着這樣的角色,每個計數器用於描述與性能有關的特定方面的數據。爲了統一衡量標準,所以性能數據都以具體數值來表示。例如,“Memory”(內存)對象提供的“Pages/sec”(分頁/秒)計數器跟蹤虛擬內存讀取和寫入速度,也就是每秒處理的分頁數。

什麼是分頁(Page)?
還記得我們今年第5期《虛擬內存到底應該怎麼設?》嗎?裏面介紹了“Page”這個概念,再讓我們一起復習一下吧:爲了便於管理和存放數據,Windows會將物理內存(RAM)與虛擬內存分割成許多小塊,稱爲Page(分頁),每個Page爲4KB,它也是內存在Windows系統中的單位,每個Page都有編號。程序運行時,系統就會將該程序所需文件先從硬盤調入並保存到這些內存分頁中,之後要用那個文件,只需指明文件所在相應分頁的編號即可,調用起來非常方便。Windows 2000/XP的虛擬內存文件Pagefile.sys被稱爲分頁文件(或頁面文件)。

2.如何閱讀監視器中的數據
在Windows XP中,系統監視器默認會裝入三個性能計數器:“Pages/sec”(內存分頁/秒)、“Avg. Disk Queue Length”(磁盤訪問序列的平均值)和“% Processor Time”(處理器執行有效線程時間的百分比)。它們分別以黃、藍、綠三種顏色的線條來表示。在窗口右邊的圖表中可以看到實時的計數器曲線圖表(單擊工具欄中的按鈕切換成直方圖或者報表顯示),圖表中的紅色豎線在不斷向右移動,它表示圖表的更新過程。在下面的列表框中顯示了三個計數器的詳細資料,包括計數器所屬的性能對象以及所屬電腦信息,選中某個計數器,然後單擊工具欄中的“突出顯示”按鈕,可以讓該計數器的曲線在圖表中以粗白線的形式顯示出來,更便於觀察(見圖1)。

 

三個關鍵性能計數器
★“Pages/sec”(內存分頁/秒):主要用來表示平均每秒從虛擬內存中進行讀取和寫入的內存分頁數。應用程序運行時,並沒有把全部內容都加載到內存中,而是當內存中沒有所需信息時纔會到硬盤中調用。調用的內存分頁越多、越頻繁,系統性能就越差。
★“Avg. Disk Queue Length”(磁盤訪問序列的平均值):這個計數器的功能實際上用於多個物理磁盤共存的時候,此時磁盤性能會超過單個硬盤的性能,如果你安裝有多塊硬盤,那麼這個計數器有時會顯示出100%(甚至更高)的狀態。
★“%Processor Time”(處理器執行有效線程時間的百分比):它反映的是CPU實際花費在有效線程執行和請求服務處理上的時間,用100%減去該計數器的讀數就是系統處於空閒狀態的時間。CPU不像收款員,它不會幹坐在那裏等待下一個任務的到來,而必須總有一些事情去做。就像我們打開電腦,不管是否進行操作,它的電源線上始終有電流流過,爲了保證CPU始終有事可做,當它沒有其他任務時,Windows便爲它準備了另一件事,就是調用“空閒進程”(也就是我們以前曾經介紹過的“System Idle Process”,在系統沒有什麼操作時,它常常會顯示爲99%或100%)。實際上,系統在計算處理器時間時,並不是對每個不同的線程運行時間進行統計,而只是對空閒進程的運行時間進行計算,然後只要簡單地用100%減去空閒進程的時間,就得到了“%Processor Time”。

下面我們通過一個實例來了解一下系統監視器在內存分析中的應用。
實例1:我的電腦需要增加內存嗎?
內存使用情況是影響系統性能的最重要因素。當內存不足時,就會使用系統頁面文件,雖然這樣可以使系統得到更多可用內存,但畢竟硬盤速度和內存速度相差很多,頻繁讀取和寫入頁面文件,會降低系統性能。通過系統監視器,可以觀察到系統內存不足以及頁面文件的使用情況,從而指導你決定是否該添加物理內存。
添加計數器
首先要添加一個“Memory”對象的“Available MBytes”(可用內存數)計數器。在圖表中右擊,選擇“添加計數器”打開對話框,選中“使用本地計算機計數器”選項,並在下面的“性能對象”下拉框中選擇“Memory”對象。下面會列出該對象的性能計數器,選中“Available MBytes”後單擊“添加”按鈕(見圖2)。單擊“說明”按鈕可查看該計數器的功能描述。新添加的計數器會顯示在主界面下的計數器列表中,不過默認的線條顏色可能會與已經存在的計數器一樣,這時可以右擊“Available MBytes”計數器,選擇“屬性”,在打開的對話框中“顏色”下拉框中選擇其他顏色即可。

分析計數器
“Available MBytes”計數器表明了當前可用的內存字節數,如果它的值小於5MB,說明物理內存可能不足,或某些程序沒有釋放內存。這裏還需要結合列表中已經存在的“Pages/sec”計數器進行綜合分析。該計數器代表頁面文件的交換速度,如果“Pages/sec”的值爲20或更大,表明系統使用內存頁面文件比較頻繁,這時可嘗試退出那些大內存佔用程序,並查看“Pages/sec”計數器,看內存頁交換速率是否有顯著變化,如果變化明顯,說明內存不足的可能性極大,需要添加內存。
小提示
系統監視器默認的三個計數器無法直接刪除,但它們會降低監視器啓動的速度,如果要讓監視器啓動時不裝入任何計數器,可以打開Windows\system32目錄,取消“perfmon.msc”文件的只讀屬性,然後重啓性能管理工具,選中要刪除的計數器,單擊工具欄中“刪除”按鈕,然後選擇菜單“文件→保存”,即可將修改後的“perfmon.msc”文件保存到磁盤,再次啓動時,就不會出現被刪除的計數器了。通過此方法你也可以定製自己需要的啓動計數器。

3.其他常用性能計數器

小提示
就像任何程序一樣,系統監視器本身也要佔用一定資源。它通常會使用最少5MB內存和1%~5%的CPU時間。當然,磨刀不誤砍柴功,這點代價換來對系統的瞭解,還是值得的。

實例2:軟件和硬件,到底誰是元兇?
有些朋友會發現自己的電腦配置並不低,但用起來感覺卻很慢,這時利用性能監視器,可以比較輕鬆地找出問題到底出在硬件還是軟件上。下表是常用的計數器,如果數值超過後面的“查看值”,則需要關注了。
基本計數器
對象 計數器 查看值
Processor %Preocessor Time(處理器時間) >80%
Physical Disk %Disk Time(磁盤時間) >80%
Memory Pages/sec(分頁/秒) >12

(1)快速識別硬件故障
對於硬件故障,原因和現象比較複雜,一般不好判斷。這裏介紹一個簡單的識別方法:在Processor對象下面分別建立“%Interrupt Time”和“%Processor Time”兩個計數器。運行這個計數器一段時間,看看這兩個計數器在同一時間是否都比較高(超過80%),如果都高,那麼很可能是硬件問題。
一般來說,如果系統本身比較老或剛搬動過,那麼很可能是電腦中的插卡鬆動,需要插緊,同時還有機箱中灰塵過厚也會引發硬件問題;也可能是硬件驅動程序有問題,需要更新;或者硬件存在中斷或DMA衝突;存在一些比較老的設備,比如:ISA卡等。
如何查找有問題的硬件呢?如果發現兩個計數器同時都比較高,可再觀察正在進行的操作,比如:正在聽音樂,那麼可能就是聲卡的問題了。
(2)捉出軟件“罪犯”
如果排除了硬件故障,就要從軟件方面找原因了。按照同樣方法,可以建立一個“%Processor Time”的計數器,在窗口右側選擇要監視的進程項目。按照這樣的方法,把懷疑有問題的進程依次監視起來,然後就可以用曲線圖查看了。比如,我們懷疑Word、QQ、Photoshop以及一款殺毒軟件是系統性能下降的原因,就分別監視這幾個軟件的進程,一般和他們主程序的名稱是一致的。
監視開始後,可以在曲線圖上看到這幾個進程使用CPU時間的走勢,如果有某個程序一直在曲線圖的上層,如超過80%以上,那麼它是影響性能的主要原因。應該儘快關閉這個進程,重啓電腦,看看能否解決問題,如果不能,則應該安裝補丁程序或更換到最新版本。
小提示
根據我們的經驗,16位程序往往會在很大程度上影響系統性能,如果在任務管理器的“進程”列表中看到“NTVDM”和“WOWEAEC.exe”,那麼可以確定當前有16位程序在運行。

性能日誌和警報——系統狀態的晴雨表
在主界面左邊展開“性能日誌和警報”節點,可以看到3個子模塊:計數器日誌、跟蹤日誌和警報。下面通過兩個實例來了解其具體使用。
實例1:通過計數器日誌設置最佳頁面文件
我們知道,頁面文件(也就是常說的虛擬內存)的大小是影響系統性能的重要因素。無論是系統自動分配還是公式化的1.5倍內存設置,都不是最優的設置方法,通過計數器可以觀察到系統真實的頁面文件使用情況。不過在系統監視器中只能簡單地查看實時數據,而通過計數器日誌記錄功能則可以提供一個長時間的頁面文件數據報告。可根據數據分析系統對頁面文件的需求,做出合理設置。
首先要設定一個512MB的大頁面文件。打開“控制面板→系統→高級”選項卡,單擊“性能”中的“設置”按鈕,在打開的對話框中單擊“高級”選項卡,點擊“更改”按鈕,選擇“自定義大小”選項,並指定頁面文件的“初始大小”和“最大值”均爲“512”MB,然後單擊“設置”按鈕,重啓系統使新頁面文件生效。
決定頁面文件的大小,就要監視系統對當前這個頁面文件的使用情況,這需要先添加一個計數器。在性能管理工具中右擊左邊的“計數器日誌”,選擇“新建日誌設置”,輸入名稱“頁面文件”後回車,出現計數器設置對話框。在“常規”選項卡中單擊“添加計數器”按鈕,在“性能對象”下拉框中選擇“Paging File”,並在下面選擇“% Usage Peak”計數器(見圖3),右邊的“從列表選擇範例”中選擇“_Total”,然後單擊“添加”按鈕,並單擊“關閉”按鈕返回。

在“數據採樣間隔”中設置時間間隔爲“1分鐘”,再單擊“日誌文件”選項卡(見圖4),在“日誌文件類型”下拉框中選擇“文本文件(逗號分隔)”,同時記住下面的“D:\PerfLogs\頁面文件_000001.csv”,這是日誌文件的保存路徑和文件名。

單擊“確定”按鈕退出計數器設置,這時添加的計數器日誌會自動運行。在電腦中像平時一樣進行各種日常操作,並儘可能多地打開和關閉各種常用的應用程序和遊戲,一般需要經過幾個小時使用後,才能通過計數器日誌得到比較全面的結果。
右擊“頁面文件”計數器選擇“停止”,中止計數器日誌的運行。然後用記事本打開“D:\PerfLogs\頁面文件_000001.csv”文件,文件中每個時間段後面的數值表示當時頁面文件的使用比率峯值,可以看出幾乎所有的記錄都顯示頁面文件使用率的峯值不超過50%(見圖5),因此完全可以把頁面文件的數值設置爲當前值的50%,即256MB,這是一個比較合理的數值。而最大值則視情況而定,比如:你偶爾還會運行一些狂佔內存的軟件,那麼可將最大值設置爲1GB或更多(視剩餘空間而定)。如果你平時的操作基本固定,那麼可考慮把頁面文件的“初始大小”和“最大值”設置爲同樣大小,這樣會減少磁盤碎片的產生。


這裏介紹的方法適合硬盤空間相對緊張,並希望經常瞭解系統狀況的用戶。虛擬內存各部分的常規配置方法,請參看本刊2004年第5期《虛擬內存到底應該怎麼設?》一文。

你知道嗎?
用Excel分析報告內容
通過一段時間監測,你收集了日誌文件,文件格式都是CSV,這種格式是專爲電子表格設計的。我們可以利用Excel,把它做成餅圖或是曲線圖,直觀地瞭解不同時間內的頁面文件變化。同樣方法,也可以監視內存等對象的變化趨勢。使用方法是在Excel中直接打開CSV文件,然後使用“插入→圖表→圖表嚮導”的命令進一步進行設計。

實例2:DIY一個內存不足報警器
前面介紹了通過“Available MBytes”計數器可以觀察系統可用內存不足的情況,當可用內存極低時,就會影響到系統性能。通過“警報”功能監視該計數器,當它的數值低於20MB時自動通過信使消息發出警報提示,做到“防患於未然”。
添加警報計數器。右擊“警報”節點,選擇“新建警報設置”,輸入名稱“內存不足”,在打開的對話框中單擊“常規”選項卡,單擊“添加”按鈕,按前面介紹的方法添加“Memory”對象中的“Available MBytes”計數器。
設置警報條件。在“將觸發警報,如果值是”後面的下拉框中選擇“低於”,後面輸入數值“20”,也就是當該計數器數值低於“20”時(即可用內存低於20MB)觸發警報條件。然後在“數據採樣間隔”中設置時間間隔爲30秒(見圖6)。


單擊“操作”選項卡(見圖7),選中“發送網絡信息到”選項,並在下面輸入你的計算機名(在添加計數器時可以看到你的計算機名)。當然,使用這種警報方式需要系統中沒有關閉信使服務。最後單擊“確定”按鈕保存設置,添加的“警報”將會自動啓動運行。


現在就可以關閉性能管理工具,正常使用電腦了。當系統可用內存低於20MB時,你將會收到一個信使消息提示,這時就需要退出部分程序,騰出內存或重啓系統,提前避免程序失去響應的情況。
小提示
★在“操作”選項卡中還可以選擇使用其他警報方式,例如寫入日誌、運行程序等。這裏有一個很特別的功能,可以啓動性能數據日誌,這樣可以實現與計數器日誌的聯動操作。
★系統性能監視器和警報在後臺運行時,也會佔用一定系統資源,我們可以使用一些技巧來儘量減少它的資源佔用。例如設置較長的數據採樣間隔、刪除不需要監視的計數器,另外要注意日誌文件不要保存到正在監視的磁盤中。

總的來說,系統性能管理工具非常強大,它常被系統維護專家用來發現和解決各種與系統相關的問題,特別是服務器方面,前面我們只是介紹了一些它的皮毛,如果你對它感興趣,請參考相關專業圖書。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章