如今已經(jīng)進(jìn)入大內(nèi)存時(shí)代,如何設(shè)置虛擬內(nèi)存才能獲得最大限度的性能提升呢?本期董師傅將針對(duì)這個(gè)問(wèn)題展開(kāi)討論,
怎樣最大限度提升虛擬內(nèi)存性能(組圖)
。禁用虛擬內(nèi)存可提升系統(tǒng)性能?
在內(nèi)存較小的年代,設(shè)置虛擬內(nèi)存的必要性大家都比較清楚,F(xiàn)在內(nèi)存的價(jià)格越來(lái)越便宜,很多朋友都用上了1GB的內(nèi)存。在大內(nèi)存環(huán)境下,是否可以完全禁用虛擬內(nèi)存,以提高系統(tǒng)性能呢?
要了解這個(gè)問(wèn)題,首先得明白什么是虛擬內(nèi)存,以及虛擬內(nèi)存有什么作用。在早期,因?yàn)閮?nèi)存價(jià)格非常昂貴,因此一般電腦上都不會(huì)配置太多。此時(shí)如果操作系統(tǒng)和應(yīng)用程序需要的內(nèi)存數(shù)量超過(guò)了計(jì)算機(jī)中安裝的物理內(nèi)存數(shù)量,操作系統(tǒng)就會(huì)暫時(shí)將不需要訪問(wèn)的數(shù)據(jù)通過(guò)一種叫做“分頁(yè)”的操作寫入到硬盤上一個(gè)特殊的文件中,從而給需要立刻使用內(nèi)存的程序和數(shù)據(jù)釋放內(nèi)存,這個(gè)位于硬盤上的特殊文件就是分頁(yè)文件(也就是虛擬內(nèi)存文件,或叫做交換文件,Windows 2000/XP/2003中的分頁(yè)文件名為pagefile.sys)。
而硬盤和內(nèi)存的速度有天壤之別,因此有朋友認(rèn)為,在內(nèi)存較大的條件下,可以禁用虛擬內(nèi)存,這樣系統(tǒng)就不需要花時(shí)間將內(nèi)存中的數(shù)據(jù)分頁(yè)到硬盤上,從而提高系統(tǒng)的運(yùn)行效率。
然而根據(jù)傳統(tǒng)的設(shè)計(jì),Windows 的許多核心功能都需要使用分頁(yè)文件,如果你禁用了所有分頁(yè)文件,有些第三方的應(yīng)用軟件就可能會(huì)遇到內(nèi)存不足的錯(cuò)誤。其實(shí)在不需要的時(shí)候,Windows并不會(huì)使用分頁(yè)文件,因此這樣調(diào)整系統(tǒng),并不能獲得任何性能上的提高。
設(shè)為物理內(nèi)存的1.5~2倍最合理?
看來(lái)虛擬內(nèi)存的設(shè)置是必須的。設(shè)置虛擬內(nèi)存時(shí),一般都建議將虛擬內(nèi)存設(shè)置為物理內(nèi)存容量的1.5~2倍(分別為虛擬內(nèi)存的最小值和最大值)。這樣設(shè)置是否合理呢?
在討論這個(gè)問(wèn)題之前首先看兩種情況:有兩臺(tái)電腦,除了內(nèi)存,其他所有配置都相同。電腦A擁有128MB內(nèi)存,電腦B擁有1GB內(nèi)存,這兩臺(tái)電腦都運(yùn)行Windows XP操作系統(tǒng)。
按照這個(gè)觀點(diǎn)中的方法設(shè)置,電腦A的虛擬內(nèi)存將會(huì)設(shè)置為192MB~256MB,而電腦B的虛擬內(nèi)存將會(huì)設(shè)置為1.5GB~2GB。而在實(shí)際使用中,電腦A很可能會(huì)在運(yùn)行大型軟件或游戲時(shí)產(chǎn)生虛擬內(nèi)存不足的問(wèn)題,而電腦B則可能會(huì)因?yàn)樵O(shè)置了如此大的分頁(yè)文件而導(dǎo)致硬盤空間的浪費(fèi)。
如何確定合理的虛擬內(nèi)存大小?
這么說(shuō)來(lái),所謂的1.5~2倍只能是一個(gè)指導(dǎo)性的意見(jiàn),而具體應(yīng)該設(shè)置多大,還要看系統(tǒng)的實(shí)際應(yīng)用情況?
的確如此,按需設(shè)置虛擬內(nèi)存才是科學(xué)的。我們可以借助Windows 2000/XP/2003中的性能監(jiān)視器來(lái)判斷虛擬內(nèi)存的大小是否合理。
在“運(yùn)行”中輸入“perfmon.msc”,展開(kāi)左側(cè)的“性能日志和警報(bào)”,雙擊“記數(shù)器日志”,在右側(cè)空白處點(diǎn)鼠標(biāo)右鍵,選擇新建日志設(shè)置,命名為Page File,回車確認(rèn),會(huì)出現(xiàn)圖1所示的窗口。
圖 1
點(diǎn)擊“添加記數(shù)器”按鈕,在彈出窗口的“性能對(duì)象”下拉菜單中選擇Paging File,在“從列表選擇記數(shù)器”中選擇“% Usage Peak”,在范例中選擇“_Total”,點(diǎn)擊“添加”按鈕,最后關(guān)閉這個(gè)窗口。
點(diǎn)擊圖1中的“確定”按鈕,點(diǎn)擊“是”創(chuàng)建日志文件。接著打開(kāi)“日志文件”選項(xiàng)卡,在日志文件類型下拉菜單中選擇“文本文件(逗號(hào)分隔)”,然后記住“例如”框中顯示的日志文件的路徑。
點(diǎn)擊“確定”后這個(gè)記數(shù)器已經(jīng)開(kāi)始運(yùn)行了,你可以在電腦上進(jìn)行你的日常操作,并盡可能多地打開(kāi)和關(guān)閉各種經(jīng)常使用的應(yīng)用程序和游戲。經(jīng)過(guò)幾個(gè)小時(shí)的使用,基本上記數(shù)器已經(jīng)可以對(duì)你的使用情況作出一個(gè)完整的評(píng)估。
接下來(lái)在記數(shù)器日志窗口中,選中新建的Page File記數(shù)器,然后右鍵點(diǎn)擊,選擇停止。用記事本打開(kāi)日志文件,你看到的結(jié)果應(yīng)該跟圖2類似。
圖 2
我們根據(jù)這幅圖一起來(lái)分析一下分頁(yè)文件的使用情況。需要注意的是,在日志中的數(shù)值并不是分頁(yè)文件的使用量,而是使用率。也就是說(shuō),根據(jù)日志文件的顯示,該系統(tǒng)一般情況下的分頁(yè)文件只使用了25%左右,而系統(tǒng)當(dāng)前設(shè)置的分頁(yè)文件足有2GB,那么為了節(jié)省硬盤空間,完全可以把分頁(yè)文件最大值減小為512MB大小,
電腦資料
《怎樣最大限度提升虛擬內(nèi)存性能(組圖)》(http://www.ishadingyu.com)。而對(duì)于最小值,可以先根據(jù)日志中的占用率求出平均占用率,然后再與最大值相乘,就可以得到了。虛擬內(nèi)存設(shè)置的分區(qū)有講究?
很多朋友認(rèn)為,虛擬內(nèi)存設(shè)置在哪個(gè)分區(qū)上也很有講究,會(huì)影響到系統(tǒng)的性能,你是怎么看待這個(gè)問(wèn)題的?
如果你有超過(guò)一塊硬盤,那么最好能把分頁(yè)文件設(shè)置在沒(méi)有安裝操作系統(tǒng)或應(yīng)用程序的硬盤上,或者所有硬盤中速度最快的硬盤上。這樣在系統(tǒng)繁忙的時(shí)候才不會(huì)產(chǎn)生同一個(gè)硬盤既忙于讀取應(yīng)用程序的數(shù)據(jù)又同時(shí)進(jìn)行分頁(yè)操作的情況。相反,如果應(yīng)用程序和分頁(yè)文件在不同的硬盤上,這樣才能最大程度降低硬盤利用率,同時(shí)提高效率。
當(dāng)然,如果你只有一個(gè)硬盤,就完全沒(méi)必要將分頁(yè)文件設(shè)置在其他分區(qū)了,同一個(gè)硬盤上不管設(shè)置在哪個(gè)分區(qū)中,對(duì)性能的影響都不是很大。
安全?效率虛擬內(nèi)存不可忽略的要素
現(xiàn)在就讓董師傅來(lái)教大家怎樣才能更加合理地使用虛擬內(nèi)存。
虛擬內(nèi)存帶來(lái)的安全隱患
我們已經(jīng)知道,操作系統(tǒng)在運(yùn)行過(guò)程中會(huì)把內(nèi)存中的一些數(shù)據(jù)“分頁(yè)”到硬盤上,但在默認(rèn)情況下,當(dāng)系統(tǒng)關(guān)閉的時(shí)候,這些數(shù)據(jù)并不會(huì)被自動(dòng)刪除。因此,如果你在電腦上處理了機(jī)密數(shù)據(jù),雖然可以使用加密或者用將數(shù)據(jù)轉(zhuǎn)移到其他介質(zhì)上的方法來(lái)保證他人無(wú)法讀取機(jī)密文件的內(nèi)容,但是你也許忘了,在分頁(yè)文件中可能還遺留有該文件的某些數(shù)據(jù),而借助專用的程序,任何人都可以分析分頁(yè)文件,從中讀出之前的重要數(shù)據(jù)。
出于安全方面的考慮,我們最好能讓W(xué)indows在關(guān)閉的時(shí)候自動(dòng)刪除分頁(yè)文件中的內(nèi)容(這不是我們通常說(shuō)的刪除,而是使用無(wú)意義的數(shù)據(jù)來(lái)填充整個(gè)分頁(yè)文件,這樣即便使用反刪除軟件也無(wú)法恢復(fù))。
解決方法:運(yùn)行“gpedit.msc”命令打開(kāi)組策略編輯器,在左側(cè)面板中定位到“計(jì)算機(jī)配置→Windows設(shè)置→安全設(shè)置→本地策略→安全選項(xiàng)”,然后啟用右側(cè)面板中“關(guān)機(jī):清理虛擬內(nèi)存頁(yè)面文件”這一策略(圖3)。不過(guò)要注意,啟用該策略將會(huì)延長(zhǎng)Windows關(guān)閉所需的時(shí)間,因此如果不是非常有必要的話,請(qǐng)不要啟用該策略。
圖 3
分頁(yè)文件的碎片整理
硬盤使用時(shí)間長(zhǎng)了將會(huì)產(chǎn)生文件碎片,而碎片太多就會(huì)影響系統(tǒng)的運(yùn)行效率。因此最佳做法是定時(shí)整理硬盤碎片。不過(guò)你可能不知道,在Windows運(yùn)行的情況下pagefile.sys文件是會(huì)被鎖定的。因此該文件中的碎片并不會(huì)被整理。要整理分頁(yè)文件中的碎片,我們有兩種方法。
方法一:假設(shè)你的操作系統(tǒng)和分頁(yè)文件都位于C盤,首先請(qǐng)將分頁(yè)文件移動(dòng)到D盤或者E盤等非系統(tǒng)盤(具體設(shè)置方法以前已介紹過(guò)多次,在此就不詳細(xì)介紹了。為使設(shè)置生效,設(shè)置好后需要重新啟動(dòng)系統(tǒng))。然后使用Windows自帶的磁盤碎片整理程序?qū)盤進(jìn)行整理磁盤碎片操作,可能需要經(jīng)過(guò)多次整理才能完成得比較徹底。待整理完之后重新將分頁(yè)文件設(shè)置到C盤,因?yàn)镃盤已經(jīng)進(jìn)行過(guò)了完整的碎片整理,因此重新在C盤創(chuàng)建的分頁(yè)文件將會(huì)是連續(xù)的,也就避免了碎片的產(chǎn)生。該方法不需要借助任何額外工具,不過(guò)操作上有點(diǎn)麻煩。
方法二:我們也可以借助軟件來(lái)簡(jiǎn)化我們的操作。這里使用的是一個(gè)叫“PageDefrag”的免費(fèi)軟件(PageDefrag v2.32下載地址:http://www.sysinternals.com/Utilities/PageDefrag.html)。運(yùn)行之后將會(huì)看到如圖4所示界面。
圖 4
從該程序的主界面中,我們不僅可以整理“pagefile.sys”的碎片,還可以整理很多其他平時(shí)因?yàn)楸幌到y(tǒng)鎖定而無(wú)法整理的系統(tǒng)文件。由于該軟件不能在系統(tǒng)運(yùn)行的時(shí)候?qū)Ψ猪?yè)文件進(jìn)行獨(dú)占性訪問(wèn),整理工作會(huì)在下一次啟動(dòng)系統(tǒng)的時(shí)候進(jìn)行。你可以按照需要,選擇下次啟動(dòng)時(shí)整理(Defragment at next boot),或者每次啟動(dòng)時(shí)整理(Defragment every boot),這里推薦使用前者。
最后,如果你使用第三方的磁盤碎片整理軟件,例如O&O Defrag,那么這類軟件自帶的Offline Defrag(脫機(jī)整理,或者其他類似的稱呼)也可以在系統(tǒng)重新啟動(dòng)的時(shí)候整理這些被鎖定的系統(tǒng)文件。