遭遇性能瓶頸,系統(tǒng)被拖垮,這無疑是管理員不愿看到的狀況。從Windows Vista開始,微軟加強了對系統(tǒng)各項資源性能狀況的監(jiān)控,其主要的技術(shù)手段所謂的性能計數(shù)器。利用這些計數(shù)器,我們可以對系統(tǒng)實施有效的監(jiān)控,進(jìn)而發(fā)現(xiàn)并解決系統(tǒng)的性能瓶頸。本文將和大家談?wù)劊赪indows 7中對內(nèi)存資源進(jìn)行監(jiān)控,以發(fā)現(xiàn)并解決性能瓶頸的相關(guān)技術(shù)細(xì)節(jié)。
Windows 7是個比較耗費內(nèi)存的系統(tǒng),微軟建議最少要1GB的內(nèi)存,雖然512MB的內(nèi)存也可安裝Windows 7,但那樣的系統(tǒng)是根本不具有實用性。而且,在Windows 7中運行的程序也會使用大量的內(nèi)存,這讓不少小內(nèi)存的老機用戶雪上加霜。如果使用最低要求的內(nèi)存量安裝Windows 7,毫無疑問系統(tǒng)將達(dá)不到最佳的運行狀態(tài)。但同時就算使用推薦數(shù)量的內(nèi)存安裝,系統(tǒng)的性能可能也無法達(dá)到最優(yōu)。這是因為系統(tǒng)的內(nèi)存需求取決于很多因素,包括選擇安裝的Windows 7組件、開啟的特效,以及應(yīng)用程序及計算機本身的配置等。

性能監(jiān)視器
對于Windows系統(tǒng)來說,我們知道系統(tǒng)需要同時使用物理內(nèi)存和虛擬內(nèi)存。物理內(nèi)存不再贅述,虛擬內(nèi)存是指寫入到磁盤上分頁文件中的內(nèi)存數(shù)量。分頁文件讀取和寫入數(shù)據(jù)的速度取決于磁盤系統(tǒng)的性能,比訪問物理內(nèi)存要慢很多。因此,我們沒人會愿意過頻繁地使用分頁文件。
在打算監(jiān)視內(nèi)存使用情況之前,首先需要檢查計算機是否有足夠的內(nèi)存運行系統(tǒng)和應(yīng)用軟件,隨后,還需要判斷系統(tǒng)對內(nèi)存的使用方式,并檢查是否存在問題。我們應(yīng)密切監(jiān)視可用內(nèi)存的數(shù)量,以及被使用的虛擬內(nèi)存的數(shù)量。如果系統(tǒng)的可用內(nèi)存數(shù)量非常少,則可能要添加內(nèi)存條。一般來說,可用內(nèi)存的數(shù)量不應(yīng)該少于系統(tǒng)中安裝的物理內(nèi)存總數(shù)的5%。如果通過監(jiān)控發(fā)現(xiàn)Windwos 7使用的虛擬內(nèi)存數(shù)量比物理內(nèi)存總數(shù)高很多,我們需要添加新的內(nèi)存條以解決內(nèi)存吃緊的狀況。
另外,還需要了解系統(tǒng)對分頁文件的使用方式。如果某個進(jìn)程請求內(nèi)存中的頁面,但系統(tǒng)無法在被請求的位置找到,就表示發(fā)生了頁面錯誤。如果被請求的頁面位于內(nèi)存中的其他位置,會導(dǎo)致軟頁面錯誤;如果被請求的頁面必須從磁盤上的頁面文件中重新獲取,會導(dǎo)致硬頁面錯誤。大部分處理器可以處理大量的軟錯誤,硬錯誤則會導(dǎo)致一定的延遲。如果系統(tǒng)中有大量的硬頁面錯誤,會需要增加內(nèi)存消耗,當(dāng)然會降低系統(tǒng)性能。
了解了以上有關(guān)Windows內(nèi)存管理的相關(guān)知識后,我們來看看Windows 7中可用于檢查內(nèi)存瓶頸的計數(shù)器。在Windows 7中,與內(nèi)存監(jiān)控相關(guān)的計數(shù)器最常用的有14個,筆者選擇其中3個比較關(guān)鍵計數(shù)器進(jìn)行解析。
Memory\Available Bytes 該計數(shù)器記錄計算機上可用于運行進(jìn)程的物理內(nèi)存總量的字節(jié)數(shù)。如果其可用內(nèi)存數(shù)量少于5%,表示系統(tǒng)缺少內(nèi)存,同時性能會降低。此時,系統(tǒng)會頻繁地將內(nèi)存分頁到硬盤,以保證資源需求。如果可用內(nèi)存的數(shù)量低于128MB,性能會更低。這種情況下,系統(tǒng)會持續(xù)將內(nèi)存分頁到硬盤,并嘗試從運行的進(jìn)程處“借”內(nèi)存,以保證資源的需求。如果內(nèi)存缺乏的問題非常嚴(yán)重,一般是內(nèi)存泄露問題導(dǎo)致的。
Memory\Committed Bytes 該計數(shù)器記錄已經(jīng)被提交的虛擬內(nèi)存的字節(jié)數(shù)。其數(shù)值代表已經(jīng)被分頁到磁盤上的內(nèi)存,并且是使用中的。如果計算機使用的虛擬內(nèi)存數(shù)比系統(tǒng)中安裝的物理內(nèi)存的總數(shù)多很多,這時解決系統(tǒng)瓶頸的辦法是添加物理內(nèi)存。
Memory\Commit Limit 該計數(shù)器顯示可用的物理內(nèi)存和虛擬內(nèi)存數(shù)量。隨著Committed Bytes數(shù)量的增長,分頁文件可能會達(dá)到允許的最大值。如果將初始頁面文件設(shè)置得太小,系統(tǒng)可能會反復(fù)擴展分頁文件大小,這需要占用一定的系統(tǒng)資源。因此,建議大家最好根據(jù)實際需要設(shè)置初始頁面大小,或者直接使用古代的頁面文件大小。通常情況下,我們可將其設(shè)置為物理內(nèi)存大小的兩倍。
上面這3個計數(shù)器是系統(tǒng)內(nèi)存監(jiān)控中最常用的計數(shù)器,在實戰(zhàn)中我們還可配合其他的計數(shù)器對系統(tǒng)內(nèi)存實施更加深入的監(jiān)控。靈活應(yīng)用這些計數(shù)器我們就能夠在Windwos 7中監(jiān)控內(nèi)存,找到影響系統(tǒng)性能的內(nèi)存瓶頸。
相關(guān)閱讀