windows系統下 虛擬記憶體設定終極攻略_硬體維護
來源:互聯網
上載者:User
記憶體在電腦中的作用很大,電腦中所有啟動並執行程式都需要經過記憶體來執行,如果執行的程式很大或很多,就會導致記憶體消耗殆盡。為瞭解決這個問題,Windows中運用了虛擬記憶體技術,即拿出一部分硬碟空間來充當記憶體使用量,當記憶體佔用完時,電腦就會自動調用硬碟來充當記憶體,以緩解記憶體的緊張。舉一個例子來說,如果電腦只有128MB實體記憶體的話,當讀取一個容量為200MB的檔案時,就必須要用到比較大的虛擬記憶體,檔案被記憶體讀取之後就會先儲存到虛擬記憶體,等待記憶體把檔案全部儲存到虛擬記憶體之後,跟著就會把虛擬內裡儲存的檔案釋放到原來的安裝目錄裡了。
當系統運行時,先要將所需的指令和資料從外部儲存空間(如硬碟、磁碟片、光碟片等)調入記憶體中,CPU再從記憶體中讀取指令或資料進行運算,並將運算結果存入記憶體中,記憶體所起的作用就像一個“二傳手”的作用。當運行一個程式需要大量資料、佔用大量記憶體時,記憶體這個倉庫就會被“塞滿”,而在這個“倉庫”中總有一部分暫時不用的資料佔據著有限的空間,所以要將這部分“惰性”的資料“請”出去,以騰出地方給“活性”資料使用。這時就需要建立另一個後備“倉庫”去存放“惰性”資料。由於硬碟的空間很大,所以微軟Windows作業系統就將後備“倉庫”的地址選在硬碟上,這個後備“倉庫”就是虛擬記憶體。在預設情況下,虛擬記憶體是以名為Pagefile.sys的分頁檔儲存在硬碟的系統磁碟分割中。
手動設定虛擬記憶體
在預設狀態下,是讓系統管理虛擬記憶體的,但是系統預設設定的管理方式通常比較保守,在自動調節時會造成分頁檔不連續,而降低讀寫效率,工作效率就顯得不高,於是經常會出現“記憶體不足”這樣的提示,下面就讓我們自已動手來設定它吧。
①用右鍵點擊案頭上的“我的電腦”表徵圖,在出現的右鍵菜單中選擇“屬性”選項開啟“系統屬性”視窗。在視窗中點擊“進階”選項卡,出現進階設定的對話方塊.
②點擊“效能”地區的“設定”按鈕,在出現的“效能選項”視窗中選擇“進階”選項卡,開啟其對話方塊。
③在該對話方塊中可看到關於虛擬記憶體的地區,點擊“更改”按鈕進入“虛擬記憶體”的設定視窗。選擇一個有較大空閑容量的分區,勾選“自訂大小”前的複選框,將具體數值填入“初始大小”、“最大值”欄中,而後依次點擊“設定→確定”按鈕即可,最後重新啟動電腦使虛擬記憶體設定生效。
建議:可以劃分出一個小分區專門提供給虛擬記憶體、IE臨時檔案儲存體等使用,以後可以對該分區定期進行磁碟整理,從而能更好提高電腦的工作效率。
一、量身定製虛似記憶體
1.普通設定法
根據一般的設定方法,虛擬記憶體分頁檔最小值、最大值同時都可設為記憶體容量的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的硬碟空間作為虛擬記憶體。但以當前的主流應用軟體和遊戲對記憶體的需要來看,根本沒有必要使用這麼多的虛擬記憶體。那麼,有沒有什麼秘技或絕招可使虛擬記憶體運用得更有效率或更顯效能呢?
1、分割存於多個硬碟
將虛擬記憶體設在較快的硬碟上,的確可使虛擬記憶體的運作更有效率。但是若電腦上兩個硬碟速度一樣快,則應將虛擬記憶體平均分配在兩個不同的硬碟上(並非同一硬碟的不同分區)。因為同步進行讀寫操作會更有效地提高系統整體的虛擬記憶體效能。
舉個例子,假設你原本在硬碟C上設定了700MB的虛擬記憶體,現在你可嘗試重新分配,即把硬碟C改為350MB,硬碟D新增350MB的虛擬記憶體。理論上這樣做會加快虛擬記憶體整體的讀寫操作.
2、硬碟需有足夠空間
如果你不是很有經驗的電腦使用者,又或者沒有特殊的使用要求,在Windows XP中選擇“系統管理的大小”的方法來自動處理虛擬記憶體,一般情況下應該會比選擇“自訂大小”的方法來得安全和穩定。不過,有一點大家必須注意,由於虛擬記憶體的“分頁檔”(pagefile.sys)會隨著電腦使用過程進行收縮和擴充,為使系統管理虛擬記憶體能夠進行得順利和更具彈性,我們必須保證分頁檔案所在的硬碟擁有足夠的可用空間。
3、最小值等於最大值
選擇“自訂大小”的方法來處理虛擬記憶體,並將最大值和最小值都設為同一數值。有很多人都相信用這種方法來處理虛擬記憶體有助於提高系統的效能。他們所持的理由是,當最大值和最小值都相等時,系統無需時刻進行收縮和擴充分頁檔的動作。省去了這些工作,相應地就是提高系統效率。
這種方法,很多人堅信有效,但同樣地,也有人指出其實並沒有效果。但不管怎樣也好,如要將最大值和最小值設為相等,我們必須堅守一個原則,那就是虛擬記憶體的大小必須足夠,否則系統輕則會出現效率下降(要進行更多複寫動作來騰出空間),嚴重的更會造成系統不穩定。
4、整理分頁檔
檔案資料儲存在硬碟上久了,檔案片段(fragment)自然會產生。要保持或提高硬碟的工作效率,我們應不時為硬碟進行一次磁碟重組。所謂虛擬記憶體,其實也是硬碟上的資料檔案,那麼虛擬記憶體是否也應該像普通檔案般需要整理呢?
Windows系統處理分頁檔(即虛擬記憶體)的方法有別於一般的檔案。相比之下,分頁檔比一般檔案更少出現片段,為分頁檔進行整理通常是沒有必要的。事實上,當Windows XP進行磁碟磁碟重組時,分頁檔不會牽涉其中。
雖然Windows不會對分頁檔進行整理,但事實上分頁檔也有片段存在。追求“盡善盡美”的朋友可能仍想對分頁檔進行磁碟重組。大家不妨試試下面的方法:
在案頭“我的電腦”表徵圖上單擊滑鼠右鍵,在隨後出現的功能菜單中選“屬性”。進入系統屬性的設定視窗,用滑鼠點選“進階”-->“效能”-->“設定”-->“進階”-->“更改”,在隨後出現的“虛擬記憶體”設定視窗中選中“無分頁檔案”一項。最後單擊“設定”按鈕退出,並重新啟動電腦。
重新啟動後,檢查一下磁碟根目錄中還有沒有pagefile.sys分頁檔存在,如有就將之刪除。清除掉虛擬記憶體的分頁檔後,現在我們再進行磁碟磁碟重組。完成後,按照前面的步驟重新設定一定數量的虛擬記憶體,並啟動電腦使之生效。經上述方法處理後,新得出的分頁檔將會是沒有片段的。
另外,如果想查看分頁檔片段的具體情況呢?啟動磁碟磁碟重組程式,為存在有分頁檔的硬碟進行一次“分析”,再點選“查看報告”,看看“分頁檔片段”一欄便會一目瞭然.
5、虛擬記憶體的理想大小
想以“自訂大小”的方法來處理虛擬記憶體,究竟應該設定多大的虛擬記憶體呢?在Windows XP中,如果由作業系統自己定義虛擬記憶體,系統通常會把最小值設定為實體記憶體的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。
6、手工訂製最準確的虛擬記憶體
0.5倍、1.5倍、3倍,哇!好像買衣服時分大、中、小號,完全沒有個性。究竟設定虛擬記憶體有沒有更“貼身剪裁”的方法呢?
在Windows XP案頭的“開始”→“運行”中輸入perfmon.msc,一個與系統效能有關的監視器便會出現。看看顯示器的底部,有三個計數器(pages/sec、Avg.Disk Queue Length及rocessor Time,)。為了便於我們接下來對虛擬記憶體的分頁檔進行精確監測,現在請大家將這三個計數器逐一點選,並按鍵盤上的Delete鍵將它們刪除。請大家放心,刪除後,下次再啟動系統效能監控器時,這三個項目會重新出現。
刪除後,現在請在圖表中央位置單擊滑鼠右鍵,在隨後出現的功能菜單中點選“添加計數器”一項,跟著在跳出視窗的“效能物件”一欄選“Process”。之後再在“從列表選擇”一欄中點選“Page File Bytes”。不清楚“Page File Bytes”代表什麼意思,只要單擊“說明”按鈕,解說文字便會出現在對話方塊之下。
選定“Page File Bytes”後,再在右方的“從列表選擇範例”一欄選取“Total”項,之後依次單擊“添加”和“關閉”按鈕,一個名為“Page File Bytes”的計數器便會出現在效能監控器的下方中。
重複以上的動作,再添加一個名為“Page File Bytes Peak”的計數器(即Process下面的Page File Bytes Peak)。
現在,回頭看一下監視器,圖表中應該正在顯示並計量著剛才新增加的兩個計數器。如無意外,這兩個計數器在圖表上的顯示不正確,即數值靠近最高比例線,沒有動態變化。不用怕,這並不表示你的電腦出了什麼問題,而是圖表比例設得不太恰當而已!用滑鼠右鍵逐一單擊監視器底部的“Page Fele Bytes”和“Page File By8tes Peak”計數器,並選“屬性”一項。在“資料”頁面的“比例”一欄中改為0.0000001,這樣顯示器中的圖表便不再是沒有動靜了。
如果你看過系統提供的說明,相信應該知道“Page File Bytes”和“Page File Bytes Peak”正是代表了系統監測期間所使用的虛擬記憶體及其峰值是多大。因此,需要精確地手工設定虛擬記憶體,可參考圖表下方顯示的數字,其單位是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運行時需要大量訪問分頁檔,如果分頁檔出現片段,系統效能將會受到嚴重影響,而且會縮短硬碟的使用壽命。所以我們很有必要對分頁檔定期進行磁碟重組。
不過別忘了,分頁檔是系統關鍵檔案,Windows XP運行時無法對其進行訪問。所以對它進行磁碟重組並不是一件容易的事情。我們有兩種方案可以選擇,一是安裝Windows雙系統,然後啟動另外一個Windows對Windows XP所在的分區進行磁碟重組。二是使用專門的工具軟體,比如System File Defragmenter等。