性能診斷
在老版本Windows中,我們用來監視系統性能最常用的工具可能就是Windows任務管理器了。這個工具功能上算是夠用,不過默認的設置并不好,只能顯示有限的系統性能參數,為了能夠滿足更高的要求,必須對其進行一些調整。在Windows Vista中,雖然任務管理器功能沒什么加強,不過我們已經有更專業的工具來監視系統性能了,這就是性能控制臺。
要使用該工具,我們只需要打開“開始”菜單,在搜索框(默認情況下Vista中并不顯示“運行”對話框,我們可以使用該框代替)中輸入“perfmon.exe”并回車,即可看到類似圖1的界面。這里最顯眼的就是四個實時更新的圖表,分別代表了CPU、物理硬盤、網絡和內存分頁情況的使用狀態。同時窗口下方還列出了一些條狀按鈕,點擊后就可以看到上述四個性能參數的詳細內容。下文中我們會詳細介紹這些內容。

圖1
CPU
該欄目下列出了系統中當前運行的進程信息(圖2),和傳統的任務管理器類似,不過這里列出的項目只能查看,不能直接結束進程或者調整進程的優先級,這些工作仍還需要通過Windows任務管理器進行。
該欄目下列出了5項不同的內容,分別具有如下含義:
● Image(進程名稱):使用了CPU資源的程序進程名稱。
● PID:應用程序實例的進程ID。小蟲網絡技術http://www.chinaccna.com
● Threads(線程):該程序實例當前運行的線程數量。
● CPU:該程序實例當前占用的CPU時鐘。
● Average CPU(平均CPU占用):該程序實例占用CPU總時鐘的百分率。
從這個欄目中我們主要可以看到每個程序對CPU資源的占用。例如,如果你總是感到系統運行速度太慢,那么就可以查看這里的內容,看是否有程序占用了過多的CPU資源,并對其采取相應的操作。

圖2
磁盤
該欄目下列出了系統中每個進程對硬盤的讀寫情況(圖3),這里一共顯示了6項不同的內容,分別具有如下含義:
● Image(進程名稱):讀寫硬盤的程序進程名稱。
● PID:讀寫程序的進程ID。
● File(文件):正在被程序的進程讀寫的文件名稱。
● Read(讀取):以“字節/分鐘”為單位顯示文件正在被進程讀取的速度。
● Write(寫入):以“字節/分鐘”為單位顯示文件正在被進程寫入的速度。
● Total(總數):以“字節/分鐘”為單位顯示文件正在被進程讀寫的總速度。
如果你覺得自己沒做什么,但是硬盤的燈一直在閃,那么就可以利用該欄目看看到底是哪個進程在頻繁讀寫硬盤,并根據不同的進程采取不同操作。

圖3
網絡
該欄目下列出了系統中每個進程對網絡的訪問情況(圖4),這里一共顯示了6項不同的內容,分別具有如下含義:
● Image(進程名稱):使用網絡資源的程序進程名稱。
● PID:使用網絡資源的程序進程ID。
● Address(地址):正在和本地計算機交換信息的網絡地址。如果目標計算機和本機位于局域網的同一子網中,這里將顯示對方的計算機名稱;否則將顯示對方計算機的IP地址或者FQDN(Fully Qualified Domain Name,完全合格的域名)。
● Send(發送):以“千比特/秒”為單位顯示應用程序正在從本地計算機發出數據的速度。
● Receive(接收):以“千比特/秒”為單位顯示應用程序正在從本地計算機接收數據的速度。
● Total(總數):以“千比特/秒”為單位顯示當前被應用程序使用的網絡帶寬。
如果你覺得網絡活動異常,例如接收數據正常,但是有大量發出數據(很可能中了蠕蟲病毒了),那么就可以使用該欄目查看每個程序的網絡使用情況,并從中找到出有問題的進程,著手解決。

圖4
內存
該欄目下列出了系統中每個進程的內存使用情況(圖5),主要包括每秒鐘之內發生的硬缺頁(hard fault)情況和物理內存的使用百分率。這里一共顯示了4項不同的內容,分別具有如下含義:
● Image(進程名稱):使用內存資源的程序進程名稱。
● PID:使用內存資源的程序進程ID。
● Hard Faults(硬缺頁):該應用程序當前導致的硬缺頁數量。所謂硬缺頁,是指被程序使用的物理內存內容被分頁到硬盤上的分頁文件中,導致物理內存中“缺少”該內容的現象。
● Working Set(工作集):被應用程序使用的頁面文件當前位于物理內存中的數量(也可以理解為物理內存的使用量)。
如果通過查看這里你發現某個程序的硬缺頁數值很高,那就需要注意了,很可能是程序本身有Bug,導致系統頻繁將頁面文件寫入硬盤,或者從硬盤中讀入內存;但如果幾乎每個進程都有較高的硬缺頁數值,則可能是因為你的物理內存數量太少,需要添加內存。

圖5
性能監視
上文中已經介紹了一些常用的系統性能參數,不過如果你需要對某一項目進行更細致的監視,或者你需要了解更多上文中沒有列出的參數,這里就可以使用Vista中的性能監視功能了。

圖6
在圖1所示的性能控制臺左側樹形圖列表中點擊“Performance Monitor(性能監視器)”節點,打開性能監視器,你將看到類似圖6的內容。這里已經默認顯示了處理器的占用情況,我們可以點擊工具欄上的加號按鈕向其中添加計數器。需要注意的是,這里不僅能監控本機的性能參數,還可以監控局域網中的其他計算機,而且可供監視的參數種類也非常多(圖7)。如果你對某個對象的含義不了解,也可以點擊窗口下方的“Show description(顯示描述)”選項,查看每個對象的詳細含義。其實這個工具在老版本Windows中就有,不過Vista中對其界面進行了一些簡單改進,因此這里不再多說。

圖7
數據的收集和查看
對系統性能的監視可以算是一項長期的工作,為了對系統的某些性能有一個徹底的了解,我們也許需要長時間進行監視,以便能夠得到正常使用計算機情況下系統性能的改變。但這也帶來了一個問題:我們不能一直開著監視器,并查看其中的內容,我們還有其他更重要的工作要做。這時候我們就可以使用Vista提供的性能數據集功能,讓系統在后臺自動監視性能數據,而我們可以定期查看收集到的數據,并根據數據對系統進行適當的調整。
這整個過程包括設置性能數據集、收集數據以及分析數據三部分,我們會通過一個具體的實例向你介紹。假設我們需要監控長時間內系統對內存的使用情況,那么可以這樣做:
設置性能數據集
首先在圖1所示的性能控制臺左側樹形圖列表中點擊“Data Collector Sets(數據收集)”節點,接著用鼠標右鍵點擊“User Defined(用戶自定義)”,從“New(新建)”菜單中選擇“Data Collector Set(數據收集)”,你將能看到一個向導形式的對話框(圖8)。

圖8
在“Name(名稱)”框中為該數據集輸入一個名字,例如“內存使用”,接著點擊“Create manually(手工創建)”,并點擊下一步。 接下來有兩個選項,我們可以分別創建data logs(數據日志)或者Performance Counter Alert(性能計數器警告)。數據日志的作用就是真實記錄所需信息,供我們日后查看;而性能計數器警告則是為了在系統遇到某些性能問題(例如系統盤可用硬盤空間小于1GB)的時候通過某種形式為我們發出警告,提醒我們注意。因此這里我們選擇“Create data logs(創建數據日志)”,并選擇“Performance counter(性能計數器)”,點擊下一步。 小蟲網絡技術http://www.chinaccna.com
隨后需要點擊“Add(添加)”按鈕加入性能計數器,因為操作方法和上文中添加計數器類似,這里就不再多說。同時我們還需要選擇收集數據的時間間隔,例如,如果我們要監控未來一個月內物理內存的使用情況,那么比較好的辦法是設置以一分鐘為單位進行收集。你需要根據監視的時間或者監視對象的屬性設置適當的時間間隔,如果設置不當,可能會產生大量沒用的性能日志記錄,這些記錄不僅占用大量硬盤空間,還會給日后的數據分析和查看增加困難。
接著還有一些選項,可以供我們設置保存性能日志的位置,以及指定運行該計數器的用戶憑據。全部設置好之后可以點擊“Finish”完成該向導。隨后可以看到類似圖9的界面,在窗口左側的樹形圖中我們新建的項目圖標上有一個綠色的三角,表示該項目已經成功運行,并在后臺監視系統性能數據

圖9
查看分析數據日志
當監視進行了一段時間之后,我們就可以通過“Performance Monitor(性能監視器)”節點查看記錄的數據了。在圖6所示的界面上點擊顯示為一個圓柱體圖標的“View Log Data(查看日志數據)”按鈕,打開圖10所示的“System Monitor Properties(系統監視器屬性)”對話框,并打開“Source(來源)”選項卡。首先在“Data source(數據源)”選項下選擇“Log files(日志文件)”,接著在隨后出現的對話框中找到之前創建的性能數據集收集起來的數據文件,并點擊OK按鈕,監控的數據就會以靜態的形式顯示在性能監視器主窗口中。

圖10
系統經過長時間的使用,隨著安裝和卸載的軟硬件數量的增多,穩定性難免會有問題。我們都知道,系統自身的穩定性現在已經不是大問題,影響穩定性最主要的因素就在于硬件設備的驅動程序,以及大量第三方應用程序。那么能否讓系統將相關的信息記錄下來,供我們需要的時候進行分析?這里就要用到Vista中新增的一個功能:Reliability Monitor(可用性監視器)。 需要注意的是,在使用該功能之前,系統累計的運行時間必須超過24小時,而且為了獲得最準確的數據,必須讓該功能收集至少28天的數據。該功能最長可以保留一年時間內的可用性記錄。
當我們需要分析系統可用性的時候,可以在圖1所示的性能控制臺中點擊“Reliability Monitor”節點,打開類似圖11所示的可用性監視器。該監視器的右上角顯示了一個日歷,只有監視器記錄下來數據的日期才會顯示在該日歷上,而窗口中央的圖表則顯示了記錄的數據信息。例如3月1日的記錄上有三個黑點,這表示該日共有三種類型的錯誤被記錄下來。

圖11
可用性監視器一共可以記錄5種不同類型的事件,分別如下:
● Software (Un)Installs(軟件安裝/卸載):對操作系統的安裝和卸載、Windows更新、硬件驅動的安裝,以及應用程序的安裝和卸載進行記錄。
● Software(軟件):記錄被安裝或卸載的操作系統、應用程序、Windows更新以及驅動程序的名稱。
● Version(版本):記錄被安裝或卸載的操作系統、應用程序或者驅動程序的版本信息(這部分記錄不包含Windows的更新信息)。
● Activity(活動類型):指出該記錄屬于安裝或是卸載。
● Activity Status(活動狀態):指出該活動最終成功或者失敗。
● Date(日期):該活動的發生日期。

圖12
當我們點擊窗口下方的事件類別后,該類別下記錄的信息就會顯示出來(圖12),從中我們就可以知道系統在什么時間發生了什么事情,并根據不同的事情采取相應的措施解決。

