讀懂Windows系統“虛擬內存”常遇問題_電腦知識網
熱點推薦:
您现在的位置: 電腦知識網 >> 電腦故障 >> 正文

讀懂Windows系統“虛擬內存”常遇問題

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

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

  手動設置虛擬內存

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

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

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

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

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

  量身定制虛似內存

  普通設置法

  根據一般的設置方法虛擬內存交換文件最小值最大值同時都可設為內存容量的但如果內存本身容量比較大比如內存是MB那麼它占用的空間也是很可觀的所以我們可以這樣設定虛擬內存的基本數值內存容量在MB以下就設置為MB以上設置為內存容量的一半介於MB與MB之間的設為與內存容量相同值

  精准設置法

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

  ①先將虛擬內存自定義的初始大小最大值設為兩個相同的數值比如MB

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

  ③在彈出的對話框名稱一欄中填入任意名稱比如虛擬內存測試在出現窗口中點擊添加計數器按鈕進入下一個窗口

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

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

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

  用該數值可以將初始大小設為MB而最大值可以根據磁盤空間大小自由設定一般建議將它設置為最小值的這樣我們就可以將虛擬內存打造得更精准使自己的愛機運行得更加流暢更具效率


 



  二Windows虛擬內存加速密籍

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

  分割存於多個硬盤

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

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

  硬盤需有足夠空間

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

  最小值等於最大值

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

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

  整理頁面文件

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

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

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

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

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

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

  虛擬內存的理想大小

  想以自定義大小的方法來處理虛擬內存究竟應該設置多大的虛擬內存呢?在Windows XP中如果由操作系統自己定義虛擬內存系統通常會把最小值設置為物理內存的當擴展時最大值則介於物理內存的一般情況下用戶想自定義虛擬內存的大小均可參照這個比例設置

  真的要參照這個比例嗎?如果我的電腦上有GB的內存難不成最小值要設置為GB最大值是GB這樣一來Pagefilesys頁面文件至少為GB太不現實了!

  其實大內存的系統跟小內存的系統相比在設置虛擬內存時標准有些不同

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

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

  至於小內存的系統例如MB參照倍及倍的設置比例最穩當即虛擬內存最小值設為MB最大值MB

  手工訂制最准確的虛擬內存

  哇!好像買衣服時分大小號完全沒有個性究竟設置虛擬內存有沒有更貼身剪裁的方法呢?

  在Windows XP桌面的開始運行中輸入perfmonmsc一個與系統性能有關的監視器便會出現看看顯示器的底部有三個計數器(pages/secAvgDisk 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 BytesPage File Bytes Peak計數器並選屬性一項數據頁面的比例一欄中改為這樣顯示器中的圖表便不再是沒有動靜了

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

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

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

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

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

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

  最後通過監視器的圖表相信大家已經能粗略估計你的電腦系統應設置多大的虛擬內存了

  出現虛擬內存不夠的幾個可能

  感染病毒

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

  虛擬內存設置不當

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

  系統空間不足

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

  因為SYSTEM用戶權限設置不當

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

  虛擬內存的優化

   啟用磁盤寫入緩存

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

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

   打開Ultra MDA

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

   配置恢復選項

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

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

  頁面文件的設置

  頁面文件的大小計算

  對於不同的計算機而言頁面文件的大小是各不相同的關於頁面文件大小的設置有兩個流傳甚廣的公式物理內存X或者物理內存X這兩種計算方法固然簡便但是並不適用於所有的計算機設置頁面文件大小最准確的方法是看看計算機在平常運行中實際使用的頁面文件大小

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

  一我的電腦上單擊鼠標右鍵選擇屬性>高級單擊性能下面的設置按鈕然後選擇高級單擊虛擬內存下方的更改按鈕選擇自定義大小並將起始大小最大值都設置為M這只是一個臨時性的設置設置完成後重新啟動計算機使設置生效

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

  三隨便設置一個日志名稱比如監視虛擬內存大小

  四常規頁中單擊添加計數器按鈕

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

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

  另外還要設置日志文件類型文本文件這樣便於閱讀

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

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

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

  如果物理內存較大可以考慮將頁面文件的起始大小最大值設置為相等等於上一步中計算出來的大小這樣硬盤中不會因為頁面文件過渡膨脹產生磁盤碎片其副作用是由於最大值被設置的較小萬一偶然出現虛擬內存超支的情況可能會導致系統崩潰

  設置頁面文件

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

  對頁面文件進行碎片整理

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

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


From:http://tw.wingwit.com/Article/Fault/201311/10580.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.