標題: 突破4GB記憶體限制!Ramdisk幫你達成!
無頭像
winner
管理員
Rank: 9Rank: 9Rank: 9

積分 210
帖子 430
註冊 2007-1-14
用戶註冊天數 6284
發表於 2009-10-13 23:24 
123.192.45.223
分享  私人訊息  頂部
突破4GB記憶體限制!Ramdisk幫你達成!
最近記憶體狂降,一條2GB DDR2記憶體也不過1250元上下,現在有不少人在購買電腦時,幾乎是將4GB的記憶體容量例為標準配備了。可是以目前主流的32位元Windows XP或VISTA能讀到的記憶體大小有限,裝了4GB卻往往只能用到3.5GB甚至更少。很多人都在想這些系統忽略掉的記憶體如果能拿來運用不知道能有多好!

其實這也不是個新聞了,有人就利用Ramdisk工具軟體來達到這樣的目的,將系統忽略的記憶體可以充份被利用。2008年初gavotte就將他原本發表的Ramdisk工具軟體改寫驅動,並成功的找回那些超過軟體限制的主記憶體,當成硬碟再利用。

Ramdisk這個名詞的意思就是將記憶體當成硬碟儲存來使用,它的原理就和我們常常提到的技嘉i-Ram相同,只是它沒有辦法在系統關機後儲存資料(i-Ram則是利用備用電源來keep住資料),這主要是因為主記憶體是具揮發的特性的關係。

系統和應用程式在執行時其實都會寫入主記憶體中,這是因為記憶體的速度遠大於馬達軸承的硬碟,關於這個觀念可以參考以下的這篇文章︰


了解了記憶體的特性後,我們來實做看看,將您系統忽略的記憶體拿出來運用,讓您的系統更快速!

用我的電腦來做個示範(使用4GB記憶體容量)

首先我們用CPU-Z軟體及系統資訊來查看,發現在CPU-Z中可以看到我的電腦有4GB,而系統(在桌面上「我的電腦」按滑鼠右鍵選擇「內容」,即可看到)中卻只有3.50GB的記憶體容量。這消失的0.5GB其實是主機板為了其他週邊所預留下來,是個定址的問題,稱之為「MIMO」(Memory Mapped Input/Output),不管是插了4GB或是更多,多出來的部份都會被忽略。這種情形在32位元的Windows作業系統XP或VISTA中,都會產生相同的情形。


我們再開啟工作管理員來查看(Ctrl+Alt+Del,選「效能」部份),實體記憶體總共有3.5GB,其中系統快取記憶體已經用了約500MB,可用部份則是約在3GB。這部份可以記起來,等一下可以對照一下。

接下來則是下載我們要來做Ramdisk的軟體,為大家提供Gavotte Ramdisk 1.0.44096.4這個版本的Ramdisk工具軟體,它是免費共享的軟體,既不用註冊也不用付費,是個相當受歡迎的Ramdisk軟體。(檔案下載置於本篇最下方)

下載完後解壓縮,打開檔案夾,可以看見如下的檔案︰



這個版本的特點在重新改寫了Ramdisk的驅動,所以請大家先將驅動安裝好,在「ram4g.reg」這個檔案中以滑鼠左鍵按兩下寫入註冊登錄檔中。

有一件事要注意一下,如果要讓主記憶體可以超過4GB的限制,主機板的bios必須能支援PAE(Physical Address Extension︰實體位置延伸),這個選項有些主機板的bios設定中會有,不過多數新版的主機板則不會在bios中做設置,而是直接預設為開啟。要查看PAE是不是已經開啟,可以利用EVEREST工具軟體來查看。



用EVEREST工具軟體來看查,在記憶體的部份有一個Physical Address Extension(PAE)的項目,如果全部皆「是」,就是有支援(如上圖)。如果發現沒有開啟,可以查看bios設定(開機時按Del進入bios設定中查看)是不是有類似選項,並且在Windows系統中手動設定boot.ini,設定boot.ini的方法如下︰


在桌面上以滑鼠點選「我的電腦」,按右鍵選單中選擇「內容」,再選擇「 進階」分頁,在「啟動及修復 」這個選項中按下「設定」,進入對話框中,選擇「編輯」,就會跳出boot.ini的文件(如下),在最後的地方加上 /PAE即可。

注意︰boot.ini是個開機的程序檔,在修改時務必小心,寫錯了可能導致無法開機,必須進入安全模式中修改回來。



修改完畢,將檔案儲存起來即可。再使用EVEREST去查看,如果仍然不能顯示PAE開啟,那…恭喜你,想跑超過4GB限制,請買張新主機板吧!(汰舊換新是好事…)

接下來執行ramdisk.exe,跳出一個對話框,請選擇「Install Ramdisk」,按下後再選擇Disk Size(Bytes),選擇想要將記憶體分給Ramdisk的容量大小,在此我選擇我的系統忽略的那512MB來做,您也可以選擇更多容量。然後在「Media Type」中選擇「Fixed Media」,最後按個Ok,軟體就會開始建立一個Ramdisk的磁碟槽。



這時候您可以在「我的電腦」中查看,應該會多出一個邏輯磁碟機槽,因為我設定了「R 」為我的磁碟代號,所以我的電腦中多了一個代號為R的磁槽機。

注意︰這個磁碟機就和我們平常使用的磁碟相同,您要怎麼利用都可以,不過因為它是以主記憶體建構,所以在關機後裡面的檔案會自動的被清除,所以建議您盡量不要將重要的檔案放在其中。後面我也會再提出一個解決方案,待會兒再說。

接下來我們來查看記憶體總容量,在系統中可以看到快取加系統約有3,5GB,而Ramdisk槽則有0.5GB,在「可用」的這個部份並沒有減少,表示總數4GB的記憶體容量充份利用達成!(下圖)



如果還是覺得有點疑問,我再用另外一個方式來證明消失的記憶體被找了出來的方法。就是在我的主機板上插上8GB的記憶體,Gavotte這個版本的 Ramdisk工具軟體甚至不用再重新設定一次,就會主動將多出來的記憶體加上原來設定的Ramdisk磁碟槽,從下圖來看,3.5GB+4.5GB=8GB,確定!

注意︰即使是使用了Ramdisk,在Windows系統中顯示的記憶體仍然會是只有3.5GB,所以我們只能利用工具軟體去查看確定是否消失的記憶體有被利用到。如果你的實作出現比較奇怪的數字,可能就是沒有成功,建議移除再重新做一次看看。



為什麼要用Ramdisk來跑應用程式?主要的原因是它的速度非常快,快得讓人想要砸掉馬達軸承的硬碟丫!你看看下面的兩張圖,左邊是跑一般碟碟,平均速度在73.4MB,而右邊則是跑剛切好的Ramdisk!3.3GB這樣的速度拿來跑比較大型的檔案時,可以更為節省時間!例如拿來繪圖、轉檔跑濾鏡,會讓人有意想不到的驚喜!不過我還是要提醒一下,它在關機後會清空所有的檔案,如果拿來執行應用程式後,請務必記得將檔案移回硬碟!



Ramdisk的速度很快,執行起應用程式可以更有效率,不過因為無法在關機後保存住資料,因為大部份都建議拿來存放一些不重要的資料,例如暫存檔、分頁檔(虛擬記憶體),以下就我們電腦常用到的部份,教你將一些比較不重要的部份移到Ramdisk中執行。

首先是虛擬記憶體的部份,虛擬記憶體其實就是將硬碟切一塊出來當成記憶體使用,系統會將常用的部份先放在這個位置,當需要用到時立刻提取到記憶體中執行,不過畢竟是用硬碟來當預取的動作,速度仍然受限於硬碟,這時我們就可以將它放進Ramdisk中。

在桌面上「我的電腦」以滑鼠選取按右鍵,出現選單後選「內容」,再選擇「進階」的分頁,在「效能」選項中按下「設定」,就會跳出「效能選項」的對話框(如下圖),在「虛擬記憶體」選項中按下「變更」…


再跳出一個「虛擬記憶體」的對話框,可以選擇增加虛擬記憶體存放的位置為Ramdisk磁碟槽(本例為R:),然後設定大小,選擇的最小值將會直接在 Ramdisk中被佔用無法被其他程式使用。所以要仔細的考慮大小值,選擇太小值的話系統可能很快就會佔滿,出現「虛擬記憶體不足」的警告。有些朋友會將預設C槽分頁檔虛擬記憶體全部取消,可能會產生當機或不可預測的問題,在設定時請務必考慮清楚。



接下來是「暫存檔」的部份,有不少的系統程式或應用軟體會暫存資料於這裡指定的位置。同樣的在桌面上「我的電腦」以滑鼠選取按右鍵,在選單的「內容中」選擇內容,然後選擇「進階」這個分頁,按下「環境變數」,即可進入對話框。您可以將「TEMP」及「TMP」變更編輯到Ramdisk槽中(本例為R:)。如此一來讀取暫存的速度將會變得飛快。



另外我們也可以將瀏灠器軟體的暫存檔存進Ramdisk中,例如InternetExplorer(IE)的Temporary Internet File,它是我們瀏覽過的網頁的暫存區,每次我們開啟相同的頁面時,它可以直接提取暫存檔,加快瀏覽的速度,我們也可以將它設定到Ramdisk中,讓速度更快!

IE的「工具」選項中按下「網際網路選項」即跳出對話框,在「一般」分頁中的「瀏覽歷程記錄」中按下「設定」,再出現一個「 Temporary Internet Files及歷程記錄設定」,在裡面選擇「移動資料夾」,指向Ramdisk槽(本例為R:)(如下圖)。日後以IE瀏覽過的網頁即會暫存在 Ramdisk中。



同樣的,如果是用FireFox瀏覽器軟體的人,也可以將它的暫存檔存於Ramdisk中。打開FireFox,在網址欄輸入「about:config」,就會出現提示(如下圖)。



進入後會出現一大串的設定值,隨便挑個選項按下滑鼠右鍵,在選單中選擇「新增」、「字串」,會再跳出一個「新字串的值」,輸入「browser.cache.disk_parent_directory」,按下「確定」後,接著再輸入字串值為「R:\」(本例為R)。此後以 FireFox瀏覽網頁時的暫存即存在Ramdisk中。(如下圖)



另外以FireFox下載的檔案位置也可以更改,在FireFox選擇「工具」、「選項」,即會跳出對話框(如下圖),在「主要」的分頁中有個「下載」的選項,其中有個「全部檔案儲存到」,可以將它設定成Ramdisk槽中。



接下來如果有用Photoshop繪圖軟體的朋友們,也可以將繪圖時的暫存儲存到Ramdisk槽中,開啟Photoshop後,在「編輯」、「偏好設定」中選擇「Performance」(如下圖),在「Scratch Disks」中勾選Ramdisk槽。日後在繪圖時應該可以明顯的感覺到速度感唷!



Flashget下載檔案(或是P2P軟體也是相同),可以將預設下載內容的儲存位置放到Ramdisk槽中(本例為R:)。以下載或P2P軟體來說,這樣的方式可以減少硬碟的磁頭頻繁讀寫,除了增快速度,也有保護及延長硬碟使用的好處。(如下圖)不過仍然要注意,它的存檔並非暫存,下載完畢記得移回硬碟。



解壓縮軟體如WinRAR,可以將它的暫存置於Ramdisk槽中(選項--設定--路徑)。壓縮檔如果遇到很大型的檔案時,在Ramdisk中解/壓縮時將會縮短不少時間!(如下圖)



要怎麼充份利用您的Ramdisk就看您自己,不過如果切出來的檔案不大,請不要將太多檔案置放其中,可能適得其反!

Ramdisk因為速度快,所以有些人會將一些常用的軟體也放在裡面,例如玩遊戲,繪圖、轉檔、剪輯…不過因為每次關機,就會清除檔案。也因此有人就想出了簡單的解決方式,用批次檔的方式,藉著WINDOWS關機時自動執行這些動作,將Ramdisk槽中的東西COPY到硬碟中,在開機時再自動執行 COPY到Ramdisk槽中。這樣就不用擔心檔案消失的問題了。
製作的方法如下︰

先開啟兩個文字檔,將檔名及副檔名分別更改為RamdiskSave.bat及RamdiskLoad.bat,再分別編輯其內容如下圖。完成後將它們置於於C:\WINDOWS\檔案夾之內。



按「開始」、「執行」,出現對話框後輸入「gpedit.msc」,進入「群組原則」中︰



在「群組原則」中選擇「Windows設定」、選取「指令碼(啟動/關機)」,右邊會出現名稱為「啟動」及「關機」兩個選項,以「啟動」為例,滑鼠點選「啟動」,按下滑鼠右鍵,選擇「內容」,跳出「啟動內容」對話框,按下「新增」,再跳出一個「新增指令碼」對話框,在「指令碼名稱」中輸入或以瀏覽的方式指向「C:\WINDOWS \RamdiskLoad.bat」,再按下確定即可。(如下圖)
同樣的在「關機」的部份輸入「C:\WINDOWS\RamdiskSave.bat」。
如此即可完成自動執行開關備份的動作。

注意︰這個方法很實用,但如果你的Ramdisk槽中塞了很多東西的時候,每次開關機的備份時間也會變久唷!




Gavotte Ramdisk可以充份利用我們系統消失的記憶體,而且不管是4GB、8GB都可以(要看主機板支援的大小而定),在現在便宜到爆的記憶體來說是個很好的應用。比較可惜的是它仍然是應用在作業系統之下,也就沒有辦法安裝作業系統(除非是虛擬os),而且也受限於作業系統建構在傳統硬碟之下,想要達到i- Ram的效能仍然有待觀查。不過不管如何,速度還是快上非常多,而且又可以將失去的那一塊找回來,是個相當不錯的應用唷!(這下你可以多買點記憶體了吧!記得找我們丫…)

其他注意及參考事項︰

如果您使用VISTA, 已經開啟PAE,卻仍然無法抓到全部的記憶體容量,請試著在「開始」、「執行」中輸入「BCDEDIT /SET PAE ForceEnable」試看看!

如果使用的ramdisk容量超過2GB以上,開啟後無法抓到2GB以上,可以在boot.ini中/PAE後方再加入/3GB,這是因為您的WindowsXP預設可能只有2GB。

在設定為IE的Temporary Internet Files時,要多考慮磁碟不要比下載的檔案還小。比如說從微軟網站下載XP SP3 RC(windowsxp-kb936929-sp3-x86-enu.exe)其檔案為344MB,若Ramdisk只給定300MB的話,那這個檔案便會在下載到300MB時中斷。除非續傳軟體可以抓到並取代IE的下載動作。

實體位置延伸--PAE記憶體與Windows︰
http://www.microsoft.com/taiwan/whdc...ae/paedrv.mspx


回覆隱藏內容:

CPU-Z
http://www.cpuid.com/download/cpuz_146.zip

EVEREST
http://www.lavalys.com/

HD SPEED
http://www.steelbytes.com/?mid=20&cm...pid=1&lang=eng