讀懂Windows虛擬記憶體問題
本文詳細介紹了虛擬的設定和相關問題的解決方法。
摘自:西安浩敏網路有限公司
[@more@]網友必備 讀懂Windows虛擬記憶體問題(1)
記憶體在計算機中的作用很大,電腦中所有執行的程式都需要經過記憶體來執行,如果執行的程式很大或很多,就會導致記憶體消耗殆盡。為了解決這個問題,Windows中運用了虛擬記憶體技術,即拿出一部分空間來充當記憶體使用,當記憶體佔用完時,電腦就會自動呼叫硬碟來充當記憶體,以緩解記憶體的緊張。舉一個例子來說,如果電腦只有128MB實體記憶體的話,當讀取一個容量為200MB的檔案時,就必須要用到比較大的虛擬記憶體,檔案被記憶體讀取之後就會先儲存到虛擬記憶體,等待記憶體把檔案全部儲存到虛擬記憶體之後,跟著就會把虛擬內裡儲存的檔案釋放到原來的安裝目錄裡了。
當系統執行時,先要將所需的指令和資料從外部儲存器(如硬碟、軟盤、光碟等)調入記憶體中,CPU再從記憶體中讀取指令或資料進行運算,並將運算結果存入記憶體中,記憶體所起的作用就像一個“二傳手”的作用。當執行一個程式需要大量資料、佔用大量記憶體時,記憶體這個倉庫就會被“塞滿”,而在這個“倉庫”中總有一部分暫時不用的資料佔據著有限的空間,所以要將這部分“惰性”的資料“請”出去,以騰出地方給“活性”資料使用。這時就需要新建另一個後備“倉庫”去存放“惰性”資料。由於硬碟的空間很大,所以微軟Windows作業系統就將後備“倉庫”的地址選在硬碟上,這個後備“倉庫”就是虛擬記憶體。在預設情況下,虛擬記憶體是以名為Pagefile.sys的交換檔案儲存在硬碟的系統分割槽中。
手動設定虛擬記憶體
在預設狀態下,是讓系統管理虛擬記憶體的,但是系統預設設定的管理方式通常比較保守,在自動調節時會造成頁面檔案不連續,而降低讀寫效率,工作效率就顯得不高,於是經常會出現“記憶體不足”這樣的提示,下面就讓我們自已動手來設定它吧。
①用右鍵點選桌面上的“我的電腦”圖示,在出現的右鍵選單中選擇“屬性”選項開啟“系統屬性”視窗。在視窗中點選“高階”選項卡,出現高階設定的對話方塊.
②點選“效能”區域的“設定”按鈕,在出現的“效能選項”視窗中選擇“高階”選項卡,開啟其對話方塊。
③在該對話方塊中可看到關於虛擬記憶體的區域,點選“更改”按鈕進入“虛擬記憶體”的設定視窗。選擇一個有較大空閒容量的分割槽,勾選“自定義大小”前的核取方塊,將具體數值填入“初始大小”、“最大值”欄中,而後依次點選“設定→確定”按鈕即可,最後重新啟動計算機使虛擬記憶體設定生效。
建議:可以劃分出一個小分割槽專門提供給虛擬記憶體、IE臨時檔案儲存等使用,以後可以對該分割槽定期進行磁碟整理,從而能更好提高計算機的工作效率。
·網友必備 讀懂Windows虛擬記憶體問題(2)
一、量身定製虛似
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虛擬記憶體問題(3)
二、Windows虛擬加速密籍
虛擬記憶體對於任何版本的Windows而言都是十分重要的。如果設定得當,它將極大地提升電腦的效能和執行速度。可是在預設狀態下,Windows始終將虛擬記憶體設為實體記憶體的1.5倍。這樣的話,如果使用者安裝2GB的記憶體,系統就會騰出高達3GB的空間作為虛擬記憶體。但以當前的主流應用軟體和遊戲對記憶體的需要來看,根本沒有必要使用這麼多的虛擬記憶體。那麼,有沒有什麼秘技或絕招可使虛擬記憶體運用得更有效率或更顯效能呢?
2、分割存於多個硬碟
將虛擬記憶體設在較快的硬碟上,的確可使虛擬記憶體的運作更有效率。但是若電腦上兩個硬碟速度一樣快,則應將虛擬記憶體平均分配在兩個不同的硬碟上(並非同一硬碟的不同分割槽)。因為同步進行讀寫操作會更有效地提高系統整體的虛擬記憶體效能。
舉個例子,假設你原本在硬碟C上設定了700MB的虛擬記憶體,現在你可嘗試重新分配,即把硬碟C改為350MB,硬碟D新增350MB的虛擬記憶體。理論上這樣做會加快虛擬記憶體整體的讀寫操作.
3、硬碟需有足夠空間
如果你不是很有經驗的電腦使用者,又或者沒有特殊的使用要求,在Windows XP中選擇“系統管理的大小”的方法來自動處理虛擬記憶體,一般情況下應該會比選擇“自定義大小”的方法來得安全和穩定。不過,有一點大家必須注意,由於虛擬記憶體的“頁面檔案”(pagefile.sys)會隨著電腦使用過程進行收縮和擴充套件,為使系統管理虛擬記憶體能夠進行得順利和更具彈性,我們必須保證分頁檔案所在的硬碟擁有足夠的可用空間。
4、最小值等於最大值
選擇“自定義大小”的方法來處理虛擬記憶體,並將最大值和最小值都設為同一數值。有很多人都相信用這種方法來處理虛擬記憶體有助於提高系統的效能。他們所持的理由是,當最大值和最小值都相等時,系統無需時刻進行收縮和擴充套件頁面檔案的動作。省去了這些工作,相應地就是提高系統效率。
這種方法,很多人堅信有效,但同樣地,也有人指出其實並沒有效果。但不管怎樣也好,如要將最大值和最小值設為相等,我們必須堅守一個原則,那就是虛擬記憶體的大小必須足夠,否則系統輕則會出現效率下降(要進行更多複寫動作來騰出空間),嚴重的更會造成系統不穩定。
5、整理頁面檔案
檔案資料儲存在硬碟上久了,檔案碎片(fragment)自然會產生。要保持或提高硬碟的工作效率,我們應不時為硬碟進行一次碎片整理。所謂虛擬記憶體,其實也是硬碟上的資料檔案,那麼虛擬記憶體是否也應該像普通檔案般需要整理呢?
Windows系統處理頁面檔案(即虛擬記憶體)的方法有別於一般的檔案。相比之下,頁面檔案比一般檔案更少出現碎片,為頁面檔案進行整理通常是沒有必要的。事實上,當Windows XP進行磁碟碎片整理時,頁面檔案不會牽涉其中。
雖然Windows不會對頁面檔案進行整理,但事實上頁面檔案也有碎片存在。追求“盡善盡美”的朋友可能仍想對頁面檔案進行碎片整理。大家不妨試試下面的方法:
·網友必備 讀懂Windows虛擬記憶體問題(4)
在桌面“我的電腦”圖示上單擊滑鼠右鍵,在隨後出現的功能選單中選“屬性”。進入系統屬性的設定視窗,用滑鼠點選“高階”-->“效能”-->“設定”-->“高階”-->“更改”,在隨後出現的“虛擬”設定視窗中選中“無分頁檔案”一項。最後單擊“設定”按鈕退出,並重新啟動電腦。
重新啟動後,檢查一下磁碟根目錄中還有沒有pagefile.sys頁面檔案存在,如有就將之刪除。清除掉虛擬記憶體的頁面檔案後,現在我們再進行磁碟碎片整理。完成後,按照前面的步驟重新設定一定數量的虛擬記憶體,並啟動電腦使之生效。經上述方法處理後,新得出的頁面檔案將會是沒有碎片的。
另外,如果想檢視頁面檔案碎片的具體情況呢?啟動磁碟碎片整理程式,為存在有頁面檔案的進行一次“分析”,再點選“檢視報告”,看看“頁面檔案碎片”一欄便會一目瞭然.
[NextPage]
6、虛擬記憶體的理想大小
想以“自定義大小”的方法來處理虛擬記憶體,究竟應該設定多大的虛擬記憶體呢?在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檔案,實際上它首先會以最小值出現,待有擴充套件需要時才會遞增。
另外,有些大記憶體的朋友,可能會乾脆不設定虛擬記憶體,以此強迫系統使用速度較快的記憶體。其實這是不太明智的做法。正所謂凡事都不要做得太絕對,完全沒有虛擬記憶體也不行。原因是不少應用程式在設計時要求必須使用虛擬記憶體,沒有了就會造成系統不穩定或當機。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/66009/viewspace-863168/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 讀懂作業系統之虛擬記憶體頁表(五)作業系統記憶體
- [轉貼]windows的虛擬記憶體Windows記憶體
- 實體記憶體和虛擬記憶體記憶體
- Windows及Linux系統虛擬記憶體WindowsLinux記憶體
- 虛擬記憶體筆記記憶體筆記
- 聊聊虛擬記憶體記憶體
- 讀懂作業系統之虛擬記憶體地址翻譯原理分析篇(二)作業系統記憶體
- windows下提示虛擬記憶體不足如何解決?Windows記憶體
- windows10系統如何增加虛擬記憶體Windows記憶體
- Windows 8系統下如何修改虛擬記憶體Windows記憶體
- windows系統提示虛擬記憶體不足的原因Windows記憶體
- Java 程式佔用 VIRT 虛擬記憶體超高的問題研究Java記憶體
- Linux 虛擬記憶體Linux記憶體
- 5.虛擬記憶體記憶體
- 虛擬記憶體到實體記憶體(32位)記憶體
- 【Java基礎】實體記憶體&虛擬記憶體Java記憶體
- windows10怎麼關閉虛擬記憶體_win10關閉c盤虛擬記憶體的方法Windows記憶體Win10
- 虛擬記憶體有什麼用 虛擬記憶體不足怎麼解決記憶體
- 讀懂作業系統之虛擬記憶體TLB與快取(cache)關係篇(四)作業系統記憶體快取
- 資源供給:記憶體和虛擬記憶體記憶體
- 小白都能看得懂的java虛擬機器記憶體模型Java虛擬機記憶體模型
- 教你如何擴大電腦的虛擬記憶體? 什麼是虛擬記憶體?記憶體
- 走出虛擬記憶體禁(轉)記憶體
- ORACLE DISCOVERER虛擬記憶體低Oracle記憶體
- 虛擬記憶體(待補充)記憶體
- 記憶體管理兩部曲之虛擬記憶體管理記憶體
- win10怎樣刪虛擬記憶體_Win10虛擬記憶體如何關閉Win10記憶體
- JAVA 虛擬機器可用記憶體Java虛擬機記憶體
- Java虛擬機器學習 - 記憶體調優Java虛擬機機器學習記憶體
- HP虛擬機器重分配記憶體虛擬機記憶體
- Linux增加虛擬記憶體方法Linux記憶體
- Ubuntu 新增虛擬記憶體檔案Ubuntu記憶體
- 虛擬記憶體系統——瞭解記憶體的工作原理記憶體
- 資源供給:再談記憶體和虛擬記憶體記憶體
- windows 7系統虛擬記憶體設定的最優方法Windows記憶體
- 《深入理解Java虛擬機器》個人讀書總結——JAVA虛擬機器記憶體Java虛擬機記憶體
- win10怎麼加虛擬記憶體_win10系統增加虛擬記憶體教程Win10記憶體
- win10虛擬記憶體如何優化_win10怎麼優化虛擬記憶體Win10記憶體優化