iT邦幫忙

18

讀懂Windows“虛擬記憶體”問題

魯大 2008-05-17 20:46:5520797 瀏覽

大家都知道記憶體的作用
那大家知道虛擬記憶體的作用嗎..
記憶體在電腦中的作用很大,電腦中所有運行的程式都需要經過記憶體來執行,如果執行的程式很大或很多,就會導致記憶體消耗殆盡。為了解決這個問題,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倍。這樣我們就可以將虛擬記憶體打造得更精準,使自己的愛機運行得更加流暢、更具效率。


0
鐵殼心
iT邦高手 1 級 ‧ 2008-05-17 20:57:23

如果都要從別的地方貼東西過來的話
乾脆寫個 "原文轉載" 然後附上網址會不會更好一些.

而且這個論壇的寫的東西不一定全部都是對的觀念.

0
funkent
iT邦高手 1 級 ‧ 2008-05-17 21:13:32

現在ram都超大

0
鐵殼心
iT邦高手 1 級 ‧ 2008-05-17 21:20:14

基本上如果Windows XP配上超過1GB的記憶體, 強烈建議關掉虛擬記憶體的設定, 這樣子跑起來會更順的喔.

0
skite
iT邦大師 5 級 ‧ 2008-05-17 22:04:11

我就是沒在用虛擬記憶體的,反正現在ram很便宜…

0
lcs1206
iT邦研究生 1 級 ‧ 2008-05-17 23:39:19

技術是隨著時代演進的,在以前記憶體貴時,這技術確實也幫了不少的忙,了解一下也不為過!

0
skite
iT邦大師 5 級 ‧ 2008-05-17 23:41:54

不過總感覺windows的虛擬記憶體配置方式不是很好,還是Mac OS的方式比較有效。

0
henry312066
iT邦研究生 3 級 ‧ 2008-05-18 00:01:58

推推推

0
cfanist
iT邦研究生 2 級 ‧ 2008-05-18 09:02:11

在NB上RAM便宜也不能像PC隨意上4G-8G..
受限太多,而且也有非得使用虛擬記憶體的理由
就是2.5吋硬碟實在是很慢...
讀取程式就是一種受罪的開始..

0
鐵殼心
iT邦高手 1 級 ‧ 2008-05-18 12:16:12

這個部落格的版主有很多有關於記憶體的討論文章, 請大家參考
http://blog.roodo.com/memoryinformation/

0
yuhsheng
iT邦新手 2 級 ‧ 2008-05-18 19:14:12

微軟有說明,最小1.5倍記憶體,最大4.5倍,儘量不要在系統磁碟,強烈建議不要刪除或停用分頁檔.
http://support.microsoft.com/?kbid=308417

0
fanylu60
iT邦研究生 1 級 ‧ 2008-05-19 19:26:39

感謝分享

0
Ruei
iT邦研究生 1 級 ‧ 2008-05-19 20:12:39

其實非常不建議完全關閉,不過未來...不知道,可能一個軟體又能吃死 4 G 記憶體吧 xd;某些軟體的設定一定會跑去使用虛擬記憶體,假如這時候關閉掉會有一些錯誤發生的

0
yce701116
iT邦研究生 1 級 ‧ 2008-05-20 20:01:46

感謝分享

0
tgunlu
iT邦研究生 1 級 ‧ 2008-05-26 10:28:53

謝謝分享

0
tyc1220
iT邦研究生 1 級 ‧ 2008-06-03 23:46:52

謝謝分享

0
gkkangel
iT邦好手 1 級 ‧ 2009-02-04 10:15:00

謝謝分享!

我要留言

立即登入留言