虛擬記憶體設置詳解【電腦跑得快,全靠「虛擬記憶體」帶】|

  跑得快,全靠「虛擬記憶體」帶

記憶體在計算機中的作用很大,電腦中所有運行的程序都需要經過記憶體來執行,如果執行的程序很大或很多,就會導致記憶體消耗殆盡。為了解決這個,Windows中運用了虛擬記憶體,即拿出一部分硬碟空間來充當記憶體使用,當記憶體占用完時,電腦就會自動調用硬碟來充當記憶體,以緩解記憶體的緊張。舉一個例子來說,如果電腦只有128MB物理記憶體的話,當讀取一個容量為200MB的文件時,就必須要用到比較大的虛擬記憶體,文件被記憶體讀取之後就會先儲存到虛擬記憶體,等待記憶體把文件全部儲存到虛擬記憶體之後,跟著就會把虛擬內裡儲存的文件釋放到原來的安裝目錄裡了。

當運行時,先要將所需的指令和數據從外部存儲器(如硬碟、軟盤、光盤等)調入記憶體中,CPU再從記憶體中讀取指令或數據進行運算,並將運算結果存入記憶體中,記憶體所起的作用就像一個「二傳手」的作用。當運行一個程序需要大量數據、占用大量記憶體時,記憶體這個倉庫就會被「塞滿」,而在這個「倉庫」中總有一部分暫時不用的數據占據著有限的空間,所以要將這部分「惰性」的數據「請」出去,以騰出地方給「活性」數據使用。這時就需要新建另一個後備「倉庫」去存放「惰性」數據。由於硬碟的空間很大,所以微軟Windows操作系統就將後備「倉庫」的地址選在硬碟上,這個後備「倉庫」就是虛擬記憶體。在默認情況下,虛擬記憶體是以名為Pagefile.sys的交換文件保存在硬碟的系統分區中。

手動設置虛擬記憶體

在默認狀態下,是讓系統管理虛擬記憶體的,但是系統默認設置的管理方式通常比較保守,在自動調節時會造成頁面文件不連續,而降低讀寫效率,工作效率就顯得不高,於是經常會出現「記憶體不足」這樣的提示,下面就讓我們自已動手來設置它吧。

①用右鍵點擊桌面上的「我的電腦」圖標,在出現的右鍵菜單中選擇「屬性」選項打開「系統屬性」窗口。在窗口中點擊「高級」選項卡,出現高級設置的對話框.

②點擊「性能」區域的「設置」按鈕,在出現的「性能選項」窗口中選擇「高級」選項卡,打開其對話框。

③在該對話框中可看到關於虛擬記憶體的區域,點擊「更改」按鈕進入「虛擬記憶體」的設置窗口。選擇一個有較大空閒容量的分區,勾選「自定義大小」前的復選框,將具體數值填入「初始大小」、「最大值」欄中,而後依次點擊「設置→確定」按鈕即可,最後重新啟動計算機使虛擬記憶體設置生效。

建議:可以劃分出一個小分區專門提供給虛擬記憶體、IE臨時文件存儲等使用,以後可以對該分區定期進行磁盤整理,從而能更好提高計算機的工作效率。

一、量身定制虛似記憶體

1.普通設置法

根據一般的設置方法,虛擬內?換晃募钚≈怠⒆畬籩低倍伎繕櫛詿嬡萘康?.5倍,但如果記憶體本身容量比較大,比如記憶體是512MB,那麼它占用的空間也是很可觀的。所以我們可以這樣設定虛擬記憶體的基本數值:記憶體容量在256MB以下,就設置為1.5倍;在512MB以上,設置為記憶體容量的一半;介於256MB與512MB之間的設為與記憶體容量相同值。

2.精準設置法

由於每個人實際操作的應用程序不可能一樣,比如有些人要運行3DMAX、Photoshop等這樣的大型程序,而有些人可能只是打打字、玩些小,所以對虛擬記憶體的要求並不相同,於是我們就要因地制宜地精確設置虛擬記憶體空間的數值。

①先將虛擬記憶體自定義的「初始大小」、「最大值」設為兩個相同的數值,比如500MB;

②然後依次打開「控制面板→管理工具→性能」,在出現的「性能」對話框中,展開左側欄目中的「性能日志和警報」,選中其下的「計數器日志」,在右側欄目中空白處點擊右鍵,選擇右鍵菜單中的「新建日志設置」選項;

③在彈出的對話框「名稱」一欄中填入任意名稱,比如「虛擬記憶體測試」。在出現窗口中點擊「添加計數器」按鈕進入下一個窗口;

④在該窗口中打開「性能對象」的下拉列表,選擇其中的「Paging File」,勾選「從列表中選擇計數器」,並在下方的欄目中選擇「%Usage Peak」;勾選「從列表中選擇范例」,在下方的欄目中選擇「_Total」,再依次點擊「添加→關閉」結束。

⑥在右側欄目中可以發現多了一個「虛擬記憶體測試」項目,如果該項目為紅色則說明還沒有啟動,點擊該項,選擇右鍵菜單中的「啟動」選項即可。

接下來運行自己常用的一些應用程序,運行一段時間後,進入日志文件所在的系統分區下默認目錄「PerfLogs」,找到「虛擬記憶體測試_000001.csv」並用記事本程序打開它,在該內容中,我們查看每一欄中倒數第二項數值,這個數值是虛擬記憶體的使用比率,找到這項數值的最大值,比如圖中的「46」,用46%乘以500MB(前面所設定的虛擬記憶體數值),得出數值為230MB。

用該數值可以將初始大小設為230MB,而最大值可以根據磁盤空間大小自由設定,一般建議將它設置為最小值的2到3倍。這樣我們就可以將虛擬記憶體打造得更精準,使自己的愛機運行得更加流暢、更具效率。

二、Windows虛擬記憶體加速密籍

虛擬記憶體對於任何版本的Windows而言都是十分重要的。如果設置得當,它將極大地提升電腦的性能和運行速度。可是在默認狀態下,Windows始終將虛擬記憶體設為物理記憶體的1.5倍。這樣的話,如果用戶安裝2GB的記憶體,系統就會騰出高達3GB的硬碟空間作為虛擬記憶體。但以當前的主流應用和遊戲對記憶體的需要來看,根本沒有必要使用這麼多的虛擬記憶體。那麼,有沒有什麼秘技或絕招可使虛擬記憶體運用得更有效率或更顯性能呢?

2、分割存於多個硬碟

將虛擬記憶體設在較快的硬碟上,的確可使虛擬記憶體的運作更有效率。但是若電腦上兩個硬碟速度一樣快,則應將虛擬記憶體平均分配在兩個不同的硬碟上(並非同一硬碟的不同分區)。因為同步進行讀寫操作會更有效地提高系統整體的虛擬記憶體性能。

舉個例子,假設你原本在硬碟C上設置了700MB的虛擬記憶體,現在你可嘗試重新分配,即把硬碟C改為350MB,硬碟D新增350MB的虛擬記憶體。理論上這樣做會加快虛擬記憶體整體的讀寫操作.

3、硬碟需有足夠空間

如果你不是很有經驗的電腦用戶,又或者沒有特殊的使用要求,在WindowsXP中選擇「系統管理的大小」的方法來自動處理虛擬記憶體,一般情況下應該會比選擇「自定義大小」的方法來得安全和穩定。不過,有一點大家必須注意,由於虛擬記憶體的「頁面文件」(pagefile.sys)會隨著電腦使用過程進行收縮和擴展,為使系統管理虛擬記憶體能夠進行得順利和更具彈性,我們必須保證分頁文件所在的硬碟擁有足夠的可用空間。

4、最小值等於最大值

選擇「自定義大小」的方法來處理虛擬記憶體,並將最大值和最小值都設為同一數值。有很多人都相信用這種方法來處理虛擬記憶體有助於提高系統的性能。他們所持的理由是,當最大值和最小值都相等時,系統無需時刻進行收縮和擴展頁面文件的動作。省去了這些工作,相應地就是提高系統效率。

這種方法,很多人堅信有效,但同樣地,也有人指出其實並沒有效果。但不管怎樣也好,如要將最大值和最小值設為相等,我們必須堅守一個原則,那就是虛擬記憶體的大小必須足夠,否則系統輕則會出現效率下降(要進行更多復寫動作來騰出空間),嚴重的更會造成系統不穩定。

5、整理頁面文件

文件數據保存在硬碟上久了,文件碎片(fragment)自然會產生。要保持或提高硬碟的工作效率,我們應不時為硬碟進行一次碎片整理。所謂虛擬記憶體,其實也是硬碟上的資料文件,那麼虛擬記憶體是否也應該像普通文件般需要整理呢?

Windows系統處理頁面文件(即虛擬記憶體)的方法有別於一般的文件。相比之下,頁面文件比一般文件更少出現碎片,為頁面文件進行整理通常是沒有必要的。事實上,當Windows XP進行磁盤碎片整理時,頁面文件不會牽涉其中。

雖然Windows不會對頁面文件進行整理,但事實上頁面文件也有碎片存在。追求「盡善盡美」的朋友可能仍想對頁面文件進行碎片整理。大家不妨試試下面的方法:

在桌面「我的電腦」圖標上單擊滑鼠右鍵,在隨後出現的功能菜單中選「屬性」。進入系統屬性的設置窗口,用滑鼠點選「高級」–>「性能」–>「設置」–>「高級」–>「更改」,在隨後出現的「虛擬記憶體」設置窗口中選中「無分頁文件」一項。最後單擊「設置」按鈕退出,並重新啟動電腦。

重新啟動後,檢查一下磁盤根目錄中還有沒有pagefile.sys頁面文件存在,如有就將之。清除掉虛擬記憶體的頁面文件後,現在我們再進行磁盤碎片整理。完成後,按照前面的步驟重新設置一定數量的虛擬記憶體,並啟動電腦使之生效。經上述方法處理後,新得出的頁面文件將會是沒有碎片的。

另外,如果想查看頁面文件碎片的具體情況呢?啟動磁盤碎片整理程序,為存在有頁面文件的硬碟進行一次「分析」,再點選「查看報告」,看看「頁面文件碎片」一欄便會一目了然.

6、虛擬記憶體的理想大小

想以「自定義大小」的方法來處理虛擬記憶體,究竟應該設置多大的虛擬記憶體呢?在WindowsXP中,如果由操作系統自己定義虛擬記憶體,系統通常會把最小值設置為物理記憶體的1.5倍。當擴展時,最大值則介於物理記憶體的2.5至3倍。一般情況下,用戶想自定義虛擬記憶體的大小,均可參照這個比例設置。

真的要參照這個比例嗎?如果我的電腦上有1GB的記憶體,難不成最小值要設置為1.5GB,最大值是2.5至3GB。這樣一來。Pagefile.sys頁面文件至少為1.5GB,太不現實了!

其實,大記憶體的系統跟小記憶體的系統相比,在設置虛擬記憶體時,標準有些不同。

如果大家有512MB以上甚至1GB的記憶體,既然物理記憶體已經相當充足,所需的虛擬記憶體反而應該減少。故在大記憶體的系統中,虛擬記憶體的最小值可以設成物理記憶體的一半。比如有1GB的記憶體,虛擬記憶體的最小值設成512MB,最大值則維持3GB以備不時之需。注意:雖然最大值設為3GB,系統是不會立即出現3GB大小的pagefile.sys文件,實際上它首先會以最小值出現,待有擴展需要時才會遞增。

另外,有些大記憶體的朋友,可能會乾脆不設置虛擬記憶體,以此強迫系統使用速度較快的記憶體。其實這是不太明智的做法。正所謂凡事都不要做得太絕對,完全沒有虛擬記憶體也不行。原因是不少應用程序在設計時要求必須使用虛擬記憶體,沒有了就會造成系統不穩定或死機。

至於小記憶體的系統,例如256MB,參照1.5倍及3倍的設置比例最穩當。即虛擬記憶體最小值設為384MB,最大值768MB。

7、手工訂制最準確的虛擬記憶體

0.5倍、1.5倍、3倍,哇!好像買衣服時分大、中、小號,完全沒有個性。究竟設置虛擬記憶體有沒有更「貼身剪裁」的方法呢?

在WindowsXP桌面的「開始」→「運行」中輸入perfmon.msc,一個與系統性能有關的監視器便會出現。看看顯示器的底部,有三個計數器(pages/sec、Avg.Disk Queue Length及rocessorTime,)。為了便於我們接下來對虛擬記憶體的頁面文件進行精確監測,現在請大家將這三個計數器逐一點選,並按鍵盤上的Delete鍵將它們刪除。請大家放心,刪除後,下次再啟動系統性能監視器時,這三個項目會重新出現。

刪除後,現在請在圖表中央位置單擊滑鼠右鍵,在隨後出現的功能菜單中點選「添加計數器」一項,跟著在跳出窗口的「性能對象」一欄選「Process」。之後再在「從列表選擇」一欄中點選「Page FileBytes」。不清楚「Page File Bytes」代表什麼意思,只要單擊「說明」按鈕,解說文字便會出現在對話框之下。

選定「Page File Bytes」後,再在右方的「從列表選擇范例」一欄選取「Total」項,之後依次單擊「添加」和「關閉」按鈕,一個名為「Page File Bytes」的計數器便會出現在性能監視器的下方中。

重復以上的動作,再添加一個名為「Page File Bytes Peak」的計數器(即Process下面的Page File Bytes Peak)。

現在,回頭看一下監視器,圖表中應該正在顯示並計量著剛才新增加的兩個計數器。如無意外,這兩個計數器在圖表上的顯示不正確,即數值靠近最高比例線,沒有動態變化。不用怕,這並不表示你的電腦出了什麼問題,而是圖表比例設得不太恰當而已!用滑鼠右鍵逐一單擊監視器底部的「Page FeleBytes」和「Page File By8tesPeak」計數器,並選「屬性」一項。在「數據」頁面的「比例」一欄中改為0.0000001,這樣顯示器中的圖表便不再是沒有動靜了。

如果你看過系統提供的說明,相信應該知道「Page File Bytes」和「Page File BytesPeak」正是代表了系統監測期間所使用的虛擬記憶體及其峰值是多大。因此,需要精確地手工設置虛擬記憶體,可參考圖表下方顯示的數字,其單位是Bytes

想知道在正常的情況下,你的系統會耗用多少虛擬記憶體?請將平時日常使用的應用軟體同時啟動並讓它們開始工作,接著再看性能監視器上所顯示的數值,心中有數了吧。

人總有瘋狂的時候,想知道自己瘋狂使用電腦時系統需要多少虛擬記憶體,現在就盡情地將電腦上的程序啟動並運行(例如,開十多個IE瀏覽器窗口上網,播放MP3和DVD影片,再進行光盤刻錄或DV影片壓縮編碼),看看監視器的百分比會升高到多少。

在圖表上右擊滑鼠,點選「屬性」,進入「圖表」頁面勾選「水平格線」一項。這樣圖表中會出現一條條的水平分割線,是不是好分辨了?

圖表中的紅色垂直線跑得太快,來不及開啟電腦上的程序進行測試?

同樣,在圖表上單擊滑鼠右鍵,選「屬性」,在常規頁面的「自動抽樣間隔」一項中將1秒改為5秒。此時,圖表中的「圖形時間」數值便會由1分40秒變成8分20秒。換言之,紅色垂直線走完一圈需花費8分20秒,這個時間應該足以讓大家開啟並運行很多應用程序,然後再慢慢查看圖表中的結果。

最後,通過監視器的圖表,相信大家已經能粗略可能你的電腦系統應設置多大的虛擬記憶體了。

三、出現「虛擬記憶體不夠」的幾個可能

1、感染病毒

有些病毒發作時會占用大量記憶體空間,導致系統出現記憶體不足的問題。趕快去殺毒,病毒庫,然後把防毒措施做好!

2、虛擬記憶體設置不當

虛擬記憶體設置不當也可能導致出現記憶體不足問題,一般情況下,虛擬記憶體大小為物理記憶體大小的2倍即可,如果設置得過小,就會影響系統程序的正常運行。重新調整虛擬記憶體大小以WinXP為例,右鍵點擊「我的電腦」,選擇「屬性」,然後在「高級」標籤頁,點擊「性能」框中的「設置」按鈕,切換到「高級」標籤頁,然後在「虛擬記憶體」框中點擊「更改」按鈕,接著重新設置虛擬記憶體大小,完成後重新啟動系統就好了。

3、系統空間不足

虛擬記憶體文件默認是在系統盤中,如WinXP的虛擬記憶體文件名為「pagefile.sys」,如果系統盤剩餘空間過小,導致虛擬記憶體不足,也會出現記憶體不足的問題。系統盤至少要保留300MB剩餘空間,當然這個數值要根據用戶的實際需要而定。用戶盡量不要把各種應用軟體安裝在系統盤中,保證有足夠的空間供虛擬記憶體文件使用,而且最好把虛擬記憶體文件安放到非系統盤中。

4、因為SYSTEM用戶權限設置不當

基於NT內核的Windows系統啟動時,SYSTEM用戶會為系統創建虛擬記憶體文件。有些用戶為了系統的安全,採用NTFS文件系統,但卻取消了SYSTEM用戶在系統盤「寫入」和「修改」的權限,這樣就無法為系統創建虛擬記憶體文件,運行大型程序時,也會出現記憶體不足的問題。問題很好解決,只要重新賦予SYSTEM用戶「寫入」和「修改」的權限即可,不過這個僅限於使用NTFS文件系統的用戶。

四、虛擬記憶體的優化

1. 啟用磁盤寫入緩存

在「我的電腦」上單擊滑鼠右鍵選擇「屬性->硬體」,打開設備管理器找到當前正在使用的硬碟,單擊滑鼠右鍵選擇屬性。在硬碟屬性的的「策略」頁中,打開「啟用磁盤上的寫入緩存」。

這個選項將會激活硬碟的寫入緩存,從而提高硬碟的讀寫速度。不過要注意一點,這個功能打開後,如果計算機突然斷電可能會導致無法挽回的數據丟失。因此最好在有UPS的情況下再打開這個功能。當然,如果你平常使用計算機時不要進行什麼重要的數據處理工作,沒有UPS也無所謂,這個功能不會對系統造成太大的損失。

2. 打開Ultra MDA

在設備管理其中選擇IDE ATA/ATAPI控制器中的「基本/次要IDE控制器」,單擊滑鼠右鍵選擇「屬性」,打開「高級設置」頁。這裡最重要的設置項目就是「傳輸模式」,一般應當選擇「DMA(若可用)」。

3. 配置恢復選項

Windows XP 運行過程中碰到致命錯誤時會將記憶體的快照保存為一個文件,以便進行系統調試時使用,對於大多數普通用戶而言,這個文件是沒有什麼用處的,反而會影響虛擬記憶體的性能。所以應當將其關閉。

在「我的電腦」上單擊滑鼠右鍵,選擇「屬性->高級」,在「性能」下面單擊「設置」按鈕,在「性能選項」中選擇「高級」頁。這裡有一個「記憶體使用」選項,如果將其設置為「系統緩存」,Windows XP將使用約4MB的物理記憶體作為讀寫硬碟的緩存,這樣就可以大大提高物理記憶體和虛擬記憶體之間的數據交換速度。默認情況下,這個選項是關閉的,如果計算機的物理記憶體比較充足,比如256M或者更多,最好打開這個選項。但是如果物理記憶體比較緊張,還是應當保留默認的選項。

頁面文件的設置

頁面文件的大小計算

對於不同的計算機而言,頁面文件的大小是各不相同的。關於頁面文件大小的設置,有兩個流傳甚廣的「公式」,「物理記憶體X2.5」或者「物理記憶體X1.5」。這兩種計算方法固然簡便,但是並不適用於所有的計算機。設置頁面文件大小最準確的方法是看看計算機在平常運行中實際使用的頁面文件大小。

通過Windows XP自帶的日志功能可以監視計算機平常使用的頁面文件的大小,從而進行最準確的設置,具體步驟如下。

一、在「我的電腦」上單擊滑鼠右鍵,選擇「屬性->高級」,單擊「性能」下面的「設置」按鈕,然後選擇「高級」頁,單擊「虛擬記憶體」下方的「更改」按鈕。選擇「自定義大小」,並將「起始大小」和「最大值」都設置為300M,這只是一個臨時性的設置。設置完成後重新啟動計算機使設置生效。

二、進入「控制面板->性能與維護->管理工具」,打開「性能」,展開「性能日志和警告」,選擇「計數器日志」。在窗口右側單擊滑鼠右鍵選擇「新建日志設置」

三、隨便設置一個日志名稱,比如「監視虛擬記憶體大小」。

四、在「常規」頁中單擊「添加計數器」按鈕。

在「性能對象」中選擇「Paging File」,然後選中「從列表選擇記數器」下面的「%Usage Peak」,並在右側「從列表中選擇范例」中選擇「_Total」。最後單擊「添加」和「關閉」按鈕。

五、別忘了記住「日志文件」頁中的日志文件存放位置和文件名,我們後面需要查看這個日志來判斷Windows XP平常到底用了多少虛擬記憶體,在這個例子中,日志文件被存放在D:\Perflog目錄下。

另外還要設置「日志文件類型」為「文本文件」,這樣便於閱讀。

這時你可以看到剛才新建的日志條目前面的圖標變成了綠色,這表明日志系統已經在監視虛擬記憶體了。如果圖標還是紅色,你應該單擊滑鼠右鍵選擇「開始」來啟動這個日志。

過一段時間後打開這個CVS文件,我們可以看到如下內容的條目。

這個日志文件記錄這一段時間中頁面文件的使用情況,注意這裡的單位是%,而不是MB。通過簡單的計算,我們就可以得到頁面文件的最小尺寸,公式是「頁面文件尺寸X百分比」。比如這個例子中,虛擬記憶體最大的使用比率是31%,300MBX31%=93MB,這個值就是虛擬記憶體的最小值(注意,300MB是前面的設置的臨時值)。

設置頁面文件

現在回到「虛擬記憶體」的設置對話框中選擇自定義大小並按照上面的計算結果分別設置「初始大小」和「最大值」。這裡我們將「初始大小」設置為91M,而將「最大值」設置成了200M,這樣比較保險。

對頁面文件進行碎片整理

Windows XP運行時需要大量訪問頁面文件,如果頁面文件出現碎片,系統性能將會受到嚴重影響,而且會縮短硬碟的使用壽命。所以我們很有必要對頁面文件定期進行碎片整理。

不過別忘了,頁面文件是系統關鍵文件,WindowsXP運行時無法對其進行訪問。所以對它進行碎片整理並不是一件容易的事情。我們有兩種方案可以選擇,一是安裝Windows雙系統,然後啟動另外一個Windows對Windows XP所在的分區進行碎片整理。二是使用專門的工具軟體,比如System File Defragmenter等