虛擬內(nèi)存是計算機系統(tǒng)內(nèi)存管理的一種技術(shù),。它使得應用程序認為它擁有連續(xù)的可用的內(nèi)存(一個連續(xù)完整的地址空間),而實際上,,它通常是被分隔成多個物理內(nèi)存碎片,,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數(shù)據(jù)交換,。
如果計算機缺少運行程序或操作所需的隨機存取內(nèi)存 (RAM),,則 Windows 使用虛擬內(nèi)存(Virtual Memory)進行補償。虛擬內(nèi)存將計算機的 RAM 和硬盤上的臨時空間組合在一起,。當 RAM 運行速度緩慢時,虛擬內(nèi)存將數(shù)據(jù)從 RAM 移動到稱為“分頁文件”的空間中,。將數(shù)據(jù)移入與移出分頁文件可以釋放 RAM,,以便完成工作。 一般而言,,計算機的 RAM 越多,,程序運行得越快。如果計算機的速度由于缺少 RAM 而降低,,則可以嘗試增加虛擬內(nèi)存來進行補償,。但是,計算機從 RAM 讀取數(shù)據(jù)的速度要比從硬盤讀取數(shù)據(jù)的速度快得多,,因此增加 RAM 是更好的方法,。
不知大家有沒有發(fā)現(xiàn),在Windows2000(XP)目錄下有一個名為pagefile.sys的系統(tǒng)文件(Windows98下為Win386.swp),,它的大小經(jīng)常自己發(fā)生變動,,小的時候可能只有幾十兆,大的時候則有數(shù)百兆,,這種毫無規(guī)律的變化實在讓很多人摸不著頭腦,。其實,,pagefile.sys是Windows下的一個虛擬內(nèi)存,它的作用與物理內(nèi)存基本相似,,但它是作為物理內(nèi)存的“后備力量”而存在的,,但是,它并不是在只有物理內(nèi)存不夠用時才發(fā)揮作用的,,也就是說在物理內(nèi)存夠用時也有可能使用虛擬內(nèi)存,,如果你虛擬內(nèi)存設置過小則會提示“虛擬內(nèi)存不足”。
我們都知道,,雖然在運行速度上硬盤不如內(nèi)存,,但在容量上內(nèi)存是無法與硬盤相提并論的。當運行一個程序需要大量數(shù)據(jù),、占用大量內(nèi)存時,,內(nèi)存就會被“塞滿”,并將那些暫時不用的數(shù)據(jù)放到硬盤中,,而這些數(shù)據(jù)所占的空間就是虛擬內(nèi)存?,F(xiàn)在我們也明白為什么pagefile.sys的大小會經(jīng)常變化了。內(nèi)存在計算機中的作用很大,,電腦中所有運行的程序都需要經(jīng)過內(nèi)存來執(zhí)行,,如果執(zhí)行的程序分配的內(nèi)存的總量超過了內(nèi)存大小,就會導致內(nèi)存消耗殆盡,。為了解決這個問題,,Windows中運用了虛擬內(nèi)存技術(shù),即拿出一部分硬盤空間來充當內(nèi)存使用,,當內(nèi)存占用完時,,電腦就會自動調(diào)用硬盤來充當內(nèi)存,以緩解內(nèi)存的緊張,。 舉個例子來說,,壓縮程序在壓縮時有時候需要讀取文件的很大一部分并保存在內(nèi)存中作反復的搜索。假設內(nèi)存大小是128MB,,而要壓縮的文件有 200MB,,且壓縮軟件需要保存在內(nèi)存中的大小也是 200MB,那么這時操作系統(tǒng)就要權(quán)衡壓縮程序和系統(tǒng)中的其他程序,,把多出來的那一部分數(shù)據(jù)放進交換文件,。 虛擬內(nèi)存不足1、感染病毒有些病毒發(fā)作時會占用大量內(nèi)存空間,,導致系統(tǒng)出現(xiàn)內(nèi)存不足的問題,。趕快去殺毒,升級病毒庫,,然后把防毒措施做好,! 2,、虛擬內(nèi)存設置不當 虛擬內(nèi)存設置不當也可能導致出現(xiàn)內(nèi)存不足問題,一般情況下,,虛擬內(nèi)存大小為物理內(nèi)存大小的2倍即可,,如果設置得過小,就會影響系統(tǒng)程序的正常運行,。重新調(diào)整虛擬內(nèi)存大小以WinXP為例,,右鍵點擊“我的電腦”,選擇“屬性”,,然后在“高級”標簽頁,,點擊“性能”框中的“設置”按鈕,切換到“高級”標簽頁,,然后在“虛擬內(nèi)存”框中點擊“更改”按鈕,,接著重新設置虛擬內(nèi)存大小,完成后重新啟動系統(tǒng)就好了,。 3,、系統(tǒng)空間不足 虛擬內(nèi)存文件默認是在系統(tǒng)盤中,如WinXP的虛擬內(nèi)存文件名為“pagefile.sys”,,如果系統(tǒng)盤剩余空間過小,,導致虛擬內(nèi)存不足,也會出現(xiàn)內(nèi)存不足的問題,。系統(tǒng)盤至少要保留300MB剩余空間,,當然這個數(shù)值要根據(jù)用戶的實際需要而定。用戶盡量不要把各種應用軟件安裝在系統(tǒng)盤中,,保證有足夠的空間供虛擬內(nèi)存文件使用,,而且最好把虛擬內(nèi)存文件安放到非系統(tǒng)盤中。 4,、因為SYSTEM用戶權(quán)限設置不當 基于NT內(nèi)核的Windows系統(tǒng)啟動時,,SYSTEM用戶會為系統(tǒng)創(chuàng)建虛擬內(nèi)存文件,。有些用戶為了系統(tǒng)的安全,,采用NTFS文件系統(tǒng),但卻取消了SYSTEM用戶在系統(tǒng)盤“寫入”和“修改”的權(quán)限,,這樣就無法為系統(tǒng)創(chuàng)建虛擬內(nèi)存文件,,運行大型程序時,也會出現(xiàn)內(nèi)存不足的問題,。問題很好解決,,只要重新賦予SYSTEM用戶“寫入”和“修改”的權(quán)限即可,不過這個僅限于使用NTFS文件系統(tǒng)的用戶,。
可能大家都會知道虛擬內(nèi)存就是當物理內(nèi)存不足夠的時候,,把硬盤的一部分當作內(nèi)存來使用,。這樣理解其實不夠準確 物理內(nèi)存就是大家平時經(jīng)常說的1G內(nèi)存,512M內(nèi)存 首先要知道:打開任何一個程序,都是要占用物理內(nèi)存的 ,當關(guān)閉這個程序的時候,系統(tǒng)也將會從物理內(nèi)存中刪除這個程序的信息 接著分兩方面理解虛擬內(nèi)存 --------------假設計算機物理內(nèi)存是512M,系統(tǒng)都安裝在C盤-------------------------------------- (一)當物理內(nèi)存足夠的時候 假設,我們運行的程序占用了215M,此時物理內(nèi)存絕對夠用了,但是不要以為此時系統(tǒng)沒有用虛擬內(nèi)存技術(shù),系統(tǒng)照樣用了虛擬內(nèi)存技術(shù),當我們打開QQ的時候,系統(tǒng)就為QQ這個程序指定了一個虛擬空間,只是此時這個虛擬空間里面沒有信息而已 (二)當物理內(nèi)存不足的時候 假設計算機運行”迅雷”和”IE瀏覽器”這兩個個軟件的時候物理內(nèi)存已經(jīng)達到512M,我們啟動QQ,,如果沒有虛擬內(nèi)存技術(shù),我們此時根本不能啟動QQ,因為QQ不能在內(nèi)存中寫入相關(guān)信息,不過現(xiàn)在有了虛擬內(nèi)存技術(shù),此時系統(tǒng)將會釋放一部分物理內(nèi)存給QQ用,假設釋放的是迅雷所占用的物理內(nèi)存,那么迅雷所占用的物理內(nèi)存信息將會保存到硬盤上的一個pagefile.sys的文件中 當我們想再運行迅雷的時候,此時系統(tǒng)會從pagefile.sys查找相應的迅雷信息,同時把這些信息重新載入到物理內(nèi)存里面,并且把QQ的信息釋放到pagefiles.sys里面 這樣一個循環(huán)交換過程就是虛擬內(nèi)存技術(shù),為什么叫它虛擬呢,因為系統(tǒng)把文件釋放到了硬盤上,而這個硬盤可不是內(nèi)存,只是臨時的保存內(nèi)存信息的地方 一句話,虛擬內(nèi)存就是用如硬盤u盤等不是內(nèi)存的介質(zhì)來存儲內(nèi)存的信息 Window xp系統(tǒng)里面的c:/windows/prefetch這個文件夾里面的文件是虛擬內(nèi)存技術(shù)的擴展,這些prefetch(預讀)文件可以提升程序的運行速度 當我們運行程序時候,系統(tǒng)會依據(jù)內(nèi)存記錄這個程序經(jīng)常用到的文件,并且把這個程序讀取信息記錄下來,同時在c:/windows/prefech下創(chuàng)建一個后綴是.pf的文件,并且把讀取的信息保存到這.pf文件夾里面, 假設我們運行已經(jīng)被記錄photoshop這個程序,那么你雙擊桌面上的photoshop的時候,系統(tǒng)會先從c:/windows/prefetch中查找這個photoshop的相關(guān)記錄,而不是繼續(xù)運行photoshop, 系統(tǒng)根據(jù)以前記錄photoshop用到的相關(guān)文件載入到內(nèi)存中,載入好后,photoshop才可以繼續(xù)運行,這樣運行photoshop的速度就會提升了,大家可能看著要先執(zhí)行.pf文件.再執(zhí)行ps程序,這樣速度還會快么?其實這個處理速度是很快的,如果沒有預讀文件,打開photoshop的速度會很慢的 C:/windows/prefetch里面還有一個Layout.ini這個文件,這個文件的作用就是排列文件載入的次序, 如果c:/windows/prefetch里面的預讀文件很多,那么你每次運行一個程序的時候,系統(tǒng)都要花大量的時間去搜索這個程序有沒有預讀文件,這樣有可能導致程序啟動很慢,所以預讀文件很多的時候,那么就去刪除這些預讀文件吧
合理設置虛擬內(nèi)存首先看看如何確定虛擬內(nèi)存的大小,。事實上,嚴格按照1.5-2倍的倍數(shù)關(guān)系來設置并不科學,,因此我們可以根據(jù)系統(tǒng)的實際應用情況進行設置,。在這過程中需要用到Windows 2000/XP Pro/2003自帶的性能監(jiān)視器。1.運行“perfmon.msc”打開性能監(jiān)視器,,展開左側(cè)的性能日志和警報,,并點擊選擇記數(shù)器日志,在右側(cè)的面板中空白處點擊鼠標右鍵,,選擇新建日志設置,,并命名為Pagefile,然后回車確認,。 2.在常規(guī)選項卡下,,點擊添加記數(shù)器按鈕,在新彈出的窗口的性能對象下拉菜單中選擇Paging File,,并選擇“從列表選擇記數(shù)器”,然后點擊% Usage Peak,,在范例中選擇“_Total”,,并接著點擊“添加”按鈕。 3.然后關(guān)閉這個窗口,,并點擊圖三中的“確定”按鈕,。點擊“是”創(chuàng)建日志文件,。接著打開“日志文件”選項卡,,在日志文件類型下拉菜單中選則“文本文件(逗號分隔)”,然后記住“例如”框中顯示的日志文件的路徑,。 4.這樣,,點擊確定后這個記數(shù)器已經(jīng)開始運行了,,你可以在電腦上進行你的日常操作,,并盡可能多的打開和關(guān)閉各種經(jīng)常使用的應用程序和游戲,。經(jīng)過幾個小時的使用,,基本上記數(shù)器已經(jīng)可以對你的使用情況做出一個完整的評估,。 5.這時你需要先停止這個記數(shù)器的運行,,同樣是在記數(shù)器日志窗口中,選中我們新建的Page File記數(shù)器,然后右鍵點擊,,并且選擇停止,。用記事本打開日志文件。 6.需要注意的是,,在日志中的數(shù)值并不是分頁文件的使用量,,而是使用率。也就是說,,根據(jù)日志文件的顯示,,該系統(tǒng)一般情況下的分頁文件只使用了25%左右,,而系統(tǒng)當前設置的分頁文件足有2GB,那么為了節(jié)省硬盤空間,,完全可以把分頁文件最大值縮小為512MB大小,。而對于最小值,可以先根據(jù)日志中的占用率求出平均占用率,,然后再與最大值相乘,,就可以得到了。 在設置虛擬內(nèi)存的時候還需要注意,,如果你有超過一塊硬盤,,那么最好能把分頁文件設置在沒有安裝操作系統(tǒng)或應用程序的硬盤上,,或者所有硬盤中速度最快的硬盤上。這樣在系統(tǒng)繁忙的時候才不會產(chǎn)生同一個硬盤既忙于讀取應用程序的數(shù)據(jù)又同時進行分頁操作的情況,。相反,如果應用程序和分頁文件在不同的硬盤上,,這樣才能最大程度降低硬盤利用率,,同時提高效率。當然,,如果你只有一個硬盤,,就完全沒必要將分頁文件設置在其他分區(qū)了,同一個硬盤上不管設置在哪個分區(qū)中,,對性能的影響都不是很大,。 虛擬內(nèi)存頁面文件與磁盤碎片由于虛擬內(nèi)存使用了硬盤,硬盤上非連續(xù)寫入的文件會產(chǎn)生磁盤碎片,,因此一旦用于實現(xiàn)虛擬內(nèi)存的文件或分區(qū)過于零碎,,會加長硬盤的尋道時間,影響系統(tǒng)性能,。有觀點誤認為Windows系統(tǒng)頻繁讀寫pagefile.sys就會產(chǎn)生磁盤碎片,,實則不然。因為pagefile.sys文件一旦創(chuàng)立,,在分區(qū)中的分布連續(xù)形式就固定下來,,文件內(nèi)部讀寫并不增加或減少pagefile.sys的文件大小。僅當頁面文件告罄后系統(tǒng)創(chuàng)建的temppf.sys會帶來磁盤碎片,。 而在Linux系統(tǒng)中,,將用于虛擬內(nèi)存的部分置于單獨的分區(qū)中,,不影響其他的分區(qū)或文件,,則基本杜絕了磁盤碎片帶來的影響,。虛擬內(nèi)存太低的解決辦法一般windows XP默認情況下是利用C盤的剩余空間來做虛擬內(nèi)存的,,因此,C盤的剩余空間越大,,對系統(tǒng)運行就越好,,虛擬內(nèi)存是隨著你的使用而動態(tài)地變化的,,這樣C盤就容易產(chǎn)生磁盤碎片,,影響系統(tǒng)運行速度,,所以,,最好將虛擬內(nèi)存設置在其它分區(qū),如D盤中,。查看虛擬內(nèi)存設置情況如下: 右鍵點“我的電腦”,,左鍵點“屬性”,,點選“高級”選項卡,,點“性能”里的“設置”按鈕,,再選“高級”選項卡,,點下面的“更改”按鈕,,所彈出的窗口就是虛擬內(nèi)存設置窗口,一般默認的虛擬內(nèi)存是從小到大的一段取值范圍,,這就是虛擬內(nèi)存變化大小的范圍,,最好給它一個固定值,這樣就不容易產(chǎn)生磁盤碎片了,,具體數(shù)值根據(jù)你的物理內(nèi)存大小來定,,一般為物理內(nèi)存的1.5到2倍,如內(nèi)存為256M,,那么應該設置256*1.5=384M,,或者干脆512M,設置方法如下: 假設內(nèi)存為256M,,虛擬內(nèi)存放在D盤,,先要將默認的清除,保持C盤為選中狀態(tài),,單選“無分頁文件(N)”再按“設置”按鈕,,此時C盤旁的虛擬內(nèi)存就消失了,然后選中D盤,,單選“自定義大小”,,在下面的“初始大小”和“最大值”兩個方框里都添上512,再點一下“設置”按鈕,,會看到D盤的旁邊出現(xiàn)了“512-512”的字樣,,這樣就說明設置好了,再一路確定,,最終,,系統(tǒng)會要重新啟動,,重啟一下,便完成了設置,。 設置方法對于虛擬內(nèi)存主要設置兩點,,即內(nèi)存大小和存放位置,內(nèi)存大小就是設置虛擬內(nèi)存最小為多少和最大為多少,;而存放位置則是設置虛擬內(nèi)存應使用哪個分區(qū)中的硬盤空間,。對于內(nèi)存大小的設置,如何得到最小值和最大值呢,?你可以通過下面的方法獲得:選擇“開始→程序→附件→系統(tǒng)工具→系統(tǒng)監(jiān)視器”(如果系統(tǒng)工具中沒有,,可以通過“添加/刪除程序”中的Windows安裝程序進行安裝)打開系統(tǒng)監(jiān)視器,然后選擇“編輯→添加項目”,,在“類型”項中選擇“內(nèi)存管理程序”,,在右側(cè)的列表選擇“交換文件大小”。這樣隨著你的操作,,會顯示出交換文件值的波動情況,,你可以把經(jīng)常要使用到的程序打開,然后對它們進行使用,,這時查看一下系統(tǒng)監(jiān)視器中的表現(xiàn)值,,由于用戶每次使用電腦時的情況都不盡相同,因此,,最好能夠通過較長時間對交換文件進行監(jiān)視來找出最符合您的交換文件的數(shù)值,,這樣才能保證系統(tǒng)性能穩(wěn)定以及保持在最佳的狀態(tài)。一般來說,,交換文件太大不會影響效率,,但會占用額外的磁盤空間。交換文件太小有時會引起可以運行的程序數(shù)量變少,。找出最合適的范圍值后,,在設置虛擬內(nèi)存時,用鼠標右鍵點擊“我的電腦”,,選擇“屬性”,,彈出系統(tǒng)屬性窗口,選擇“性能”標簽,,點擊下面“虛擬內(nèi)存”按鈕,,彈出虛擬內(nèi)存設置窗口,點擊“用戶自己指定虛擬內(nèi)存設置”單選按鈕,,“硬盤”選較大剩余空間的分區(qū),,然后在“最小值”和“最大值”文本框中輸入合適的范圍值。如果您感覺使用系統(tǒng)監(jiān)視器來獲得最大和最小值有些麻煩的話,,這里完全可以選擇“讓Windows管理虛擬內(nèi)存設置”,。 調(diào)整分頁位置 Windows9x的虛擬內(nèi)存分頁位置,,其實就是保存在C盤根目錄下的一個虛擬內(nèi)存文件(也稱為交換文件)Win386.swp,它的存放位置可以是任何一個分區(qū),,如果系統(tǒng)盤C容量有限,,我們可以把Win386.swp調(diào)到別的分區(qū)中,方法是在記事本中打開System.ini(C:Windows下)文件,,在[386Enh]小節(jié)中,,將“PagingDrive=C:WindowsWin386.swp”,改為其他分區(qū)的路徑,,如將交換文件放在D:中,,則改為“PagingDrive=D:Win386.swp”,如沒有上述語句可以直接鍵入即可,。 而對于使用Windows2000和WindowsXP的,,可以選擇“控制面板→系統(tǒng)→高級→性能”中的“設置→高級→更改”,打開虛擬內(nèi)存設置窗口,,在驅(qū)動器[卷標]中默認選擇的是系統(tǒng)所在的分區(qū),,如果想更改到其他分區(qū)中,,首先要把原先的分區(qū)設置為無分頁文件,,然后再選擇其他分區(qū)。 或者,,WinXP一般要求物理內(nèi)存在256M以上,。如果你喜歡玩大型3D游戲,而內(nèi)存(包括顯存)又不夠大,,系統(tǒng)會經(jīng)常提示說虛擬內(nèi)存不夠,,系統(tǒng)會自動調(diào)整(虛擬內(nèi)存設置為系統(tǒng)管理)。 如果你的硬盤空間夠大,,你也可以自己設置虛擬內(nèi)存,,具體步驟如下:右鍵單擊“我的電腦”→屬性→高級→性能設置→高級→虛擬內(nèi)存更改→選擇虛擬內(nèi)存(頁面文件)存放的分區(qū)→自定義大小→確定最大值和最小值→設置。一般來說,,虛擬內(nèi)存為物理內(nèi)存的1.5倍,,稍大一點也可以,如果你不想虛擬內(nèi)存頻繁改動,,可以將最大值和最小值設置為一樣,。{另一種說法:調(diào)整時我們需要注意,不要將最大,、最小頁面文件設為等值,。因為通常內(nèi)存不會真正“塞滿”,它會在內(nèi)存儲量到達一定程度時,,自動將一部分暫時不用的數(shù)據(jù)放到硬盤中,。最小頁面文件越大,,所占比例就低,執(zhí)行的速度也就越慢,。最大頁面文件是極限值,,有時打開很多程序,內(nèi)存和最小頁面文件都已“塞滿”,,就會自動溢出到最大頁面文件,。所以將兩者設為等值是不合理的。一般情況下,,最小頁面文件設得小些,,這樣能在內(nèi)存中盡可能存儲更多數(shù)據(jù),效率就越高,。最大頁面文件設得大些,,以免出現(xiàn)“滿員”的情況。 PS:①1.5倍虛擬內(nèi)存設置,,是網(wǎng)上技術(shù)文檔通用說明的,,個人認為可以根據(jù)常用軟件的實際情況設定。推薦有經(jīng)驗的用戶使用,。 ?、诂F(xiàn)在有很多工具軟件(例如WINDOWS優(yōu)化大師、超級兔子),,可以很好的更改這些設置,,工具軟件也會根據(jù)你的電腦的實際情況進行相應的推薦設置。 手動設置①用右鍵點擊桌面上的“我的電腦”圖標,,在出現(xiàn)的右鍵菜單中選“屬性”選項打開“系統(tǒng)屬性”窗口,。在窗口中點擊“高級”選項卡,出現(xiàn)高級設置的對話框?、邳c擊“性能”區(qū)域的“設置”按鈕,,在出現(xiàn)的“性能選項”窗口中選擇“高級”選項卡,打開其對話框,。 ?、墼谠搶υ捒蛑锌煽吹疥P(guān)于虛擬內(nèi)存的區(qū)域,點擊“更改”按鈕進入“虛擬內(nèi)存”的設置窗口,。選擇一個有較大空閑容量的分區(qū),,勾選“自定義大小”前的復選框,將具體數(shù)值填入“初始大小”,、“最大值”欄中,,而后依次點擊“設置→確定”按鈕即可,最后重新啟動計算機使虛擬內(nèi)存設置生效,。 注意事項允許設置的虛擬內(nèi)存最小值為2MB,,最大值不能超過當前硬盤的剩余空間值,,同時也不能超過32位操作系統(tǒng)的內(nèi)存尋址范圍——4GB。1,、禁用頁面文件 當擁有了1G以上的內(nèi)存時,,頁面文件的作用將不再明顯,因此我們可以將其禁用,。方法是:依次進入注冊表編輯器“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\MemoryManagement”下,,在“DisablePagingExecutive”(禁用頁面文件)選項中將其值設為“1”即可。 PS:此舉可能會造成系統(tǒng)不穩(wěn)定.某些程序無法運行或死機,。請根據(jù)自己實際情況更改,。 1G以上內(nèi)存就比較夠用了,玩游戲、使用大型軟件不推薦禁用虛擬內(nèi)存,。當然如果內(nèi)存有2G的時候,,可以根據(jù)自己的實際情況選擇虛擬內(nèi)存的使用大小(我個人認為2G內(nèi)存可以禁用虛擬內(nèi)存以提升系統(tǒng)性能,,VISTA系統(tǒng)內(nèi)存使用比較大,,可以根據(jù)實際情況設定)。 2,、清空頁面文件 在同一位置上有一個“ClearPageFileAtShutdown(關(guān)機時清除頁面文件)”,,將該值設為“1”。這里所說的“清除”頁面文件并非是指從硬盤上完全刪除pagefile.sys文件,,而是對其進行“清洗”和整理,,根據(jù)微軟的說法,,這是一個安全選項,,與性能無關(guān)。 高級話題:使用 SweepRAM 工具,。適用于 Windows 2000/XP/2003,。網(wǎng)上可以找到 SweepRAM 程序。該程序最大的作用是把所有進程的工作集清空,。所謂工作集是指進程已映射的物理內(nèi)存部分(即這些內(nèi)存塊全在物理內(nèi)存中,,并且 CPU 可以直接訪問),還有一部分不在工作集中的虛擬內(nèi)存則可能在轉(zhuǎn)換列表中(CPU 不能通過虛地址訪問,,需要 Windows 映射之后才能訪問),,還有一部分則在磁盤上的頁面文件里。工作集在進程運行時會被 Windows 自動調(diào)整,,頻繁訪問的頁面(4KB 的塊)會留在內(nèi)存中,,而不頻繁訪問的頁面在內(nèi)存緊張時會被從工作集中移出,暫時保存在內(nèi)存中的“轉(zhuǎn)換列表”中,,或者進一步換出到頁面文件中,。當應用程序再次訪問某一頁面時,,操作系統(tǒng)會將它重新加回工作集中。 SweepRAM 工具以一種適中的頻率(大約 40 分鐘一次)反復運行,,可以將各進程的工作集清空,,而之后各進程的工作集會慢慢恢復。這樣可以保持更好的工作集平衡,,從而提高系統(tǒng)性能,。
對于虛擬內(nèi)存如何設置的問題,微軟已經(jīng)給我們提供了官方的解決辦法,,對于一般情況下,,我們推薦采用如下的設置方法:(1)在Windows系統(tǒng)所在分區(qū)設置頁面文件,文件的大小由你對系統(tǒng)的設置決定,。具體設置方法如下:打開"我的電腦"的"屬性"設置窗口,,切換到"高級"選項卡,在"啟動和故障恢復"窗口的"寫入調(diào)試信息"欄,,如果你采用的是"無",,則將頁面文件大小設置為2MB左右,如果采用"核心內(nèi)存存儲"和"完全內(nèi)存存儲",,則將頁面文件值設置得大一些,,跟物理內(nèi)存差不多就可以了。 小提示:對于系統(tǒng)分區(qū)是否設置頁面文件,,這里有一個矛盾:如果設置,,則系統(tǒng)有可能會頻繁讀取這部分頁面文件,從而加大系統(tǒng)盤所在磁道的負荷,,但如果不設置,,當系統(tǒng)出現(xiàn)藍屏死機(特別是STOP錯誤)的時候,無法創(chuàng)建轉(zhuǎn)儲文件(Memory.dmp),,從而無法進行程序調(diào)試和錯誤報告了,。所以折中的辦法是在系統(tǒng)盤設置較小的頁面文件,只要夠用就行了,。 (2)單獨建立一個空白分區(qū),,在該分區(qū)設置虛擬內(nèi)存,其最小值設置為物理內(nèi)存的1.5倍,,最大值設置為物理內(nèi)存的3倍,,該分區(qū)專門用來存儲頁面文件,不要再存放其它任何文件,。之所以單獨劃分一個分區(qū)用來設置虛擬內(nèi)存,,主要是基于兩點考慮:其一,由于該分區(qū)上沒有其它文件,這樣分區(qū)不會產(chǎn)生磁盤碎片,,這樣能保證頁面文件的數(shù)據(jù)讀寫不受磁盤碎片的干擾,;其二,按照Windows對內(nèi)存的管理技術(shù),,Windows會優(yōu)先使用不經(jīng)常訪問的分區(qū)上的頁面文件,,這樣也減少了讀取系統(tǒng)盤里的頁面文件的機會,減輕了系統(tǒng)盤的壓力,。 (3)其它硬盤分區(qū)不設置任何頁面文件,。當然,如果你有多個硬盤,,則可以為每個硬盤都創(chuàng)建一個頁面文件,。當信息分布在多個頁面文件上時,硬盤控制器可以同時在多個硬盤上執(zhí)行讀取和寫入操作,。這樣系統(tǒng)性能將得到提高,。 |
|