Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows 7系統教程 >> Win7系統應用技巧 >> Win7系統虛擬內存有什麼用?

Win7系統虛擬內存有什麼用?

日期:2017/2/10 16:29:40      編輯:Win7系統應用技巧

  Win7虛擬內存到底有什麼用?它的用處在哪裡?

  一、 絕對不應該關閉虛擬內存:

  即便你的內存已經大到“無可救藥”的地步,也不應該將虛擬內存關閉,因為除了傳統的為RAM“後備”這一功能外,Windows也會利用虛擬內存執行一 些特定操作。此外虛擬內存的打開還有助於提高內存命中率及保證系統穩定,個別軟件(如Photoshop、3Dmark等)在運行時也會需要虛擬內存。

  二、 流言終結過程詳解

  1. 虛擬內存並不是“物理內存第二”。

  我們這裡所說的“虛擬內存”,嚴格意義上應該稱之為“分頁文件”,因為從微軟的官方文檔來看,“虛擬內存”等於“物理內存”+“分頁文件”總和。通俗來 講分頁文件是指我們硬盤上一個碩大無比的文件,名為“PageFile.sys”(將資源管理器設為顯示系統+隱藏文件後可見)。

  早期 計算機內存(RAM)普遍偏低,為了解決軟件運行效率不高等問題(內存不夠時就需要頻繁換頁,將暫時不用的程序移出內存,而將即將運行的調入進 去),Windows便在硬盤上開辟了一塊區域,作為“虛擬RAM”使用。一旦物理內存無法滿足當前需要時,分頁文件就會自動充當內存實現部分物理內存功 能,這便是大家熟知的用分頁文件擴充內存功能。

Win7系統虛擬內存有什麼用?

  “虛擬內存”嚴格來說應該叫“分頁文件”

  那麼當物理內存基本滿足要求時,上述情況又會變成什麼景象呢?舉個例子吧,比如有一個圖書館,裡面共有10000本圖書,我們姑且將它看作是電腦的硬盤 總容量;然後你可以在門口放置一個小書架,容量50本,這個相當於Windows的分頁文件大小;接下來則是每人每次的借閱極限值,為5本,相當於物理內 存數。

  每次當你把手中的5本閱讀完畢後,就可以到小書架或者圖書館裡繼續挑選。當然我不說大家也知道,從50本裡找顯然要10000本裡找快得多,於是分頁文件的第二大作用便出來了——即加快資料存取。

  從上面的例子可以看出,分頁文件有著幫物理內存提高“命中率”和“穩定性”的作用,因此即便你的物理內存再大(比如一次可以借閱10本或20本了),也 終將會有把書看完的那天。此時如果再找書,依然會遇到之前那個問題,究竟是從50本裡找快還是直接去10000本裡找快。因此從這一點上看,物理內存大小 其實與禁不禁用分頁文件是沒有任何聯系的。

  2. 分頁文件對性能影響多少?

  為了說明分頁文件對於資料的存取效率能有多大影響,我們照例設計了一個小實驗加以說明。測試過程很簡單,即通過PCMark7模擬日常應用來對Windows執行一次基准評分,評分背景是標准的Windows和關閉分頁文件後的Windows。

  注:測試項選擇的是默認的“PCMARK suite”。

Win7虛擬內存有什麼用?

  PCMARK7專業版

Win7虛擬內存有什麼用?

  關閉分頁文件前後成績對比

  測試中我們選擇的是很多用戶都很熟悉的“PCMARK suite”,內含了視頻播放、視頻轉碼、圖片處理、網頁浏覽、網頁解密、圖片導入、3D游戲等若干個子項,可以說是用戶日常工作的一個縮影。

  可以看到,在關閉了分頁文件後,系統評分有了一個明顯下降,表明很多應用在關閉了分頁文件後都出現了不同程度的變慢。而由於我們的測試機使用的是4GB 內存(64bit系統),正常情況下並不會導致物理內存完全用盡,因此整個測試基本上可以看作是分頁文件對系統性能的影響。

  3. 物理內存充足時分頁文件工作嗎

  雖然實測結果表明分頁文件對於目前的大內存系統仍然有提高性能的作用,但我敢說,很多網友肯定還有另外一個疑慮——分頁文件到底和物理內存是個啥關系?頻繁的硬盤讀寫難道真不會拖累系統運行麼?

Win7虛擬內存有什麼用?

  AIDA64檢測圖

  要回答這個問題其實也很簡單,只要借助一款第三方軟件——AIDA64就可以了。上圖是硬件檢測軟件AIDA64對筆者電腦的檢測,可以看到當前電腦的 存儲系統是由4GB物理內存、4GB分頁文件共同組成,其中物理內存+分頁文件的總和被AIDA64稱作交換區(Windows稱“虛擬內存”)。那麼當 一款程序啟動時,它究竟會首先使用物理內存?還是按照整個虛擬內存的概念同步使用呢?

  這裡需要說明的是,微軟有關虛擬內存的定義是與 AIDA64不同的,它是將物理內存+分頁文件視為一個虛擬內存(相當於AIDA64中的“交換區”),而AIDA64則是將物理內存+交換區視為虛擬內 存。說實話AIDA64的這種劃分比較令人費解,因為將一個現實數值(物理內存)與一個虛擬數值(交換區)合並原本就沒有什麼實際意義。因此這裡我們主要 還是以微軟定義為准。

  最終答案非常明顯,就是當物理內存用盡後,Windows才會啟用分頁文件。如果你不信,不妨也像我一樣打開 AIDA64(軟件支持實時更新,可以很直觀地看到各個數值的變化),然後隨意啟動幾款程序,觀察一下“頁面文件”的數值變化。你會發現隨著程序啟動,物 理內存和交換區數值都在持續變化,唯獨頁面文件卻始終保持著0MB。

  換句話說,在物理內存可以滿足當前需要時,Windows並不會棄用高速內存而選用速度更慢的硬盤文件(分頁文件),因此我們絲毫不必擔心開啟分頁文件會影響系統整體性能,除非是你的物理內存真的無法滿足系統需要。

  4. 分頁文件如何設置才合理

  那麼又一個問題來了,如果說分頁文件在現今的Windows中仍然有利無弊的話,那麼我們究竟是應該讓Windows自行管理,還是給它設定一個具體的數值呢?

  有關這個問題,筆者曾經和一位微軟工程師聊過,雙方的焦點在於,分頁文件是一項很古老的設置,最初是將其設定為一個可變量,官方推薦是物理內存的1.5倍(即你在系統→分頁文件設置框內看到的推薦值)。

  但要注意的是,這條規則的設計背景是在數十年前,那時的內存普遍只有幾十兆(服務器也不過如此)。但時至今日,當物理內存已經跨入GB時代,甚至個別用戶已經用上16GB以上的超大內存,再去一昧照搬從前的標准顯然並不適合。

Win7虛擬內存有什麼用?

  系統托管真的合理麼?

  依然還是開頭圖書館的例子,現在的情形可以變更為館藏容量未變(10000本),但每人每次的可借閱數升級為15本(即物理內存變大了),相應門口小書 架的圖書量也增加為500本(分頁文件按比例擴大)。那麼問題來了,如果說50本的小書架可以幫我們提高效率的話,那麼500本書架所消耗的時間又是多 少?如果碰巧這500本中仍然沒有你想要的,需要重新進入圖書館(10000本)裡繼續查找的話,系統效率不慢才怪。

  回到現實版中來, 小書架容量的暴增其實就相當於分頁文件擴張(比如16GB內存按微軟標准計算就是16GB~24GB),那麼在現行機械硬盤的讀取速度下(這裡不考慮隨機 讀取與線性讀取區別),若想遍歷一遍16GB或者24GB空間所花費的時間,恐怕也是相當大的。換句話說,如此一來分頁文件非但沒有提高系統性能,反而真 的會成為系統性能的拖累!

  為了更好地說明結果,我們仍然通過PCMark 7進行了一次基准測試。與先前測試略有不同的是,此次主要是對分頁文件的大小進行了調整,根據測試機內存劃分為“系統托管(實測為4GB)”、 “512MB”、“2GB”、“4GB”幾檔,當然也沒忘增加了一個大容量“12GB”。

  最終結果一目了然,隨著分頁文件的增長,系統評分開始成比例提高,到達4GB時幾乎出現了此次評測最好的成績。但當筆者人為將其升至12GB時,整體評分又有了明顯下降,從而最終佐證了我們先前的推測。

  雖然上述測試已經大體推算出一個分頁大小,但我們並不建議所有用戶都采用這一設置。原因就是每個人的硬件配置各有不同,大鍋飯式設置並不一定適合每一個 人。考慮到分頁文件大小可能對性能的影響,我們建議在用戶內存不超4GB的情況下,可以選擇由Windows自行托管,而當用戶內存高於4GB,則應使用 手工設置的方法,將分頁文件限定在一個范圍之內(建議不超6GB),這樣既可保證系統正常的吞吐需求,也不至於因分頁文件過大而拖累系統速度!

  此外對於動手能力較強的網友,也可自行通過“性能監視器”(perfmon.msc)添加一個“Paging File Usage”來統計自己電腦中分頁文件的實際利用率,借此精確計算出自己的電腦究竟適合多大的分頁文件。只不過考慮到該步驟操作較為繁瑣,這裡就不單獨介 紹了。

  寫在最後

  事實上就像Windows中的很多組件一樣,虛擬內存並不像大家 想象得那樣簡單,除了眾所周知的補充內存功能外(實際上現在這個用途已經很少會用到了),它還承擔著提高物理內存命中率及穩定性的作用。甚至某些時 候,Windows的一些核心功能也會用上虛擬內存(如SuperPrefetch、內存轉儲等)。

  此外個別第三方軟件(如 Photoshop、3Dmax等)也是虛擬內存的忠實擁護者,強行關閉很可能導致運行出錯或崩潰。當然考慮到硬盤開銷及整體運行效能,用戶最好根據自身 條件對分頁文件大小進行限定,盡量不要讓分頁文件過於龐大。總之在這個問題上,並沒有什麼一定之規,更多的是需要使用者靈活處理。

Win7虛擬內存有什麼用?

  這個提示真的不是忽悠你的

  附:幾個小問題的解答:

  1、分頁文件移至別的分區是否可提高性能?

  根據微軟的設計,操作系統允許同時建立多個分頁文件,而且Windows會很智能地從中挑選出性能最高的進行讀取。但要注意的是這個設計只針對於多塊硬 盤,比如你的Windows裝在硬盤1,而分頁文件設在硬盤2,那麼由於操作系統可以同時從兩塊硬盤上讀取數據(一塊讀取操作系統,一塊讀取分頁文件), 最終結果就是Windows的效率大增。但如果用戶只有一塊硬盤,將分頁文件由C盤轉移至其他分區,理論上並不會有明顯改進,除非是你的C盤空間過於緊 張!

  2、設固定大小可否減少硬盤碎片?

  有人認為Windows默認的可變大 小,常常是導致分頁文件出現碎片的主要原因,這個問題我們需要從另一個角度考慮。正如大家已知的,分頁文件的一個重要特性是作為內存補充使用(雖然這種情 況目前已經很少,但不排除完全沒有),因此當你偶然遇到一個極耗內存程序時,還是有可能將虛擬內存耗盡並導致最終崩潰。那麼此時如果使用的是默認可變內 存,相當於給了Windows一次騰挪輾轉的機會,也許崩潰就不會發生。

  當然這裡要特別說一句的是,如果你的虛擬內存大小合理,一般情況下是不會導致Windows隨意調整分頁文件大小的,而這樣的話產生磁盤碎片的機率也就不是很多了。

Copyright © Windows教程網 All Rights Reserved