談到虛擬內存,不能不涉及到頁面文件(pagefile.sys),所謂頁面文件,它的功能是將一部分硬盤空間設置為虛擬內存,從而擴大了可用"內存"空間,以此來滿足程序的運行要求。
盡管由於硬盤的讀取、傳輸速率等遠遠低於內存的速率,容易導致系統工作效率的降低和系統反應的延遲,但相對於花錢買硬件提高系統性能來說,這種以時間和效率來換取性能的做法還是非常不錯的:你可以一分錢不花的擁有1G的虛擬內存,如果真正去買這麼1G的內存,你要花多少錢?而且問題的關鍵是:你的主板能不能支持1G的物理內存?
Win9x通常是利用安裝目錄中的Win386.swp這個交換文件來實現虛擬內存的創建。但Win2000采用頁面文件的方式來實現虛擬內存的創建。通常情況下,大家在使用時都是按照系統默認的設置讓Windows管理虛擬內存,這樣做比較方便,但Windows為了兼容絕大部分計算機配置,缺省設置的管理方式通常比較保守,因此它的工作效率有時偏低。熟練用戶可以對Windows的虛擬內存管理進行優化處理(如自行定義交換文件的大小、位置等),來盡量獲得比較高的工作效率。
Win2000中關於頁面文件的管理項目在控制面板中,進入"控制面板"後選"系統",然後在"高級/性能選項"中選擇"更改",就進入"虛擬內存"的設置。頁面中顯示著當前系統所設置的頁面文件的大小、所在位置、磁盤可用空間以及Windows的推薦設置值等,可以結合頁面文件的這些屬性來優化設置。
一、 頁面文件的大小
Windows建議頁面文件的最小值(就是初始大小),應該是當前系統內存容量再加上12MB,若計算機系統擁有256MB內存的,就要將頁面文件的最小值設置為268MB,這樣才能讓操作系統在崩潰或死機前將內存中全部的內容復制到硬盤上。對於內存容量小於256MB的用戶,則建議將頁面文件的最小值設得更大些,應該大於內存容量加12MB的數值:
① 使用128MB或者更少內存的計算機用戶,應該將當前系統內存容量的1.75倍設置為頁面文件的最小值;
②那些內存容量在128MB和256MB之間的用戶,可以將當前系統容量的1.5倍設置為頁面文件的最小值。
當然,將頁面文件的最小值設置為大於這些理論值,對於整個系統的運行是沒有什麼影響的,而且應該會更好些,唯一的損失也許也就是硬盤可用空間會相應的減少。假如你的硬盤空間比較緊張的話,在設置頁面文件時,可以讓它不小於系統內存的3/4,這樣就可以保證系統比較穩定地運行了。如果你需要經常裝卸大軟件,開很多任務,那你還是用回缺省值比較安全,否則將經常性地引起系統崩潰。
至於頁面文件的最大值,則可以設置得越大越好,通常建議將它設置為最小值的2到3倍。你不用在意它的具體設置值。和Win9X系統的頁面文件管理相比,Win2000要"智能"得多,它的頁面文件是可以自己動態設置的。它僅在系統需要時才會自動擴充頁面的大小,這樣可以避免頁面文件占用太多的硬盤空間,並避免在復雜操作中因內存不足而出現錯誤。
二、 頁面文件的存放位置
Win2000允許通過將頁面文件分布到各個不同的物理硬盤上(注意是硬盤而不是分區)的方法來提高系統的執行性能。從理論上講這樣做的確是可行的,但要注意的是由於各硬盤間可能存在的尋道時間、傳輸速度等方面的差異而導致的系統性能的下降,因此應該盡量選擇速度最快的硬盤來存放頁面文件。
另外要注意的是,盡管Win2k也支持在同一硬盤多分區上分別建立頁面文件,但這樣做非但不能提高系統的性能,反而將明顯地降低整個系統的工作效率,這是由於當操作系統需要讀寫頁面文件時,如果需要讀取的內容不在同一個分區的頁面文件中時,硬盤磁頭將頻繁地在各個分區間移動,這將大大降低系統的運行效率。從實際的使用效果來看,這樣做還不如將頁面文件只集中存放到一個分區中來的好,因此,建議擁有多硬盤的人應該考慮以下的一些方案:
①多硬盤之間的速度差異不大,可以將頁面文件分布到各硬盤上去;
②多硬盤之間的速度差異比較大,則應該將頁面文件盡量存放到另外的速度較快的一個(或多個)硬盤上去。對於單硬盤的用戶,如果硬盤可用空間允許的話,則應該盡量將頁面文件的位置設置在同一個分區中。
三、 頁面文件的連續性
頁面文件的連續性在Win2000的相關設置中並沒有相應的顯示,但其實很有必要單獨"拎"出來談一談。連續的頁面文件的工作效率將比不連續的高很多,其中的原因和上面所說的不要將頁面文件設置在同一硬盤多個分區的道理是一樣的,也是由於硬盤磁頭的移動問題,不連續的頁面文件也將導致系統在使用虛擬內存時硬盤磁頭頻繁地在不連續的扇區間"跳"動,因此應該盡量保證頁面文件的連續。
大家可以運行Win2000自帶的"磁盤碎片整理程序"並選擇其中的"分析"功能來查看頁面文件在硬盤上的相應位置,其中"綠色"區域(系統文件)就是頁面文件所在位置。也許有些人對於頁面文件會出現不連續的情況表示懷疑,那麼可以試試下面的操作:
如果你是雙系統的話,可以先進入Win9X,將Win2000的頁面文件Pagefile.sys剪切到其他分區或者硬盤中,然後再馬上粘貼回去,重新啟動系統到Win2000下,運行"磁盤碎片整理程序"分析一下,綠色的區域將被分割為大大小小不同的好幾個區域,頁面文件這時就是零碎不連續的。
盡管Win2000提供的"磁盤碎片整理程序"要比Win9X下的好用得多,但是對於不連續的頁面文件它還是無法進行整理。要進行頁面文件碎片整理的話,需要第三方的相應工具,如Speed Disk等。另外,如果你沒有這些工具而且頁面文件所在分區或者硬盤不是NTFS格式的話,可以參照測試頁面文件不連續情況下的操作方法:
首先從雙系統進入Win9X,然後將頁面文件剪切到其他分區或者硬盤中,再用Win9X下的磁盤整理工具對相應的分區或者硬盤進行整理,等整理完畢後再將頁面文件重新粘貼回去,就可以保證頁面文件的連續性了。