原理
虛擬記憶體盤使用計算機記憶體的一部分來模擬一個硬碟。所謂的RAM驅動器,實際上是把系統記憶體劃出一部分當作硬碟使用。對於作業系統來講記憶體的存取速度遠遠大於機械磁碟,所以RAM驅動器肯定要比機械的硬碟快得多。你可以把整個應用程式都安裝在RamDisk的驅動器中,然後用記憶體的速度運行它。使用RAM驅動器技術對於延長筆記本電腦電池使用時間也是十分有利的,因為這樣做可以減少訪問"耗電大戶"--硬碟的次數。版本
RamDisk原來是由微軟開發出來的(一個ms-Ramdisk的軟體),已經很久沒有更新了而且最大只能允許虛擬64M,後來由網友gavotte重新修改了微軟的Ramdisk,所以這一類型的軟體誕生了。RamDisk類型的軟體有很多,基本都是以微軟RamDisk為核心。其中Plus在標準版的基礎上增加了多磁碟支持,鏡像備份等功能;Secuity版可以在系統重啟或關閉後自動清理Ramdisk的內容,提高了安全性。
產生
近幾年來,計算機的CPU、記憶體和顯示卡等主要配件的性能都提升得很快,而與之相對應的磁碟系統性能正越來越嚴重地成為整個電腦系統性能提升的瓶頸。雖然磁碟外部接口也從以前的ATA33發展到今天的SATA6Gbit/s。但是,這還是不能徹底解決磁碟瓶頸的問題,特別是在運行一些對數據存取速度要求很高的程式,如數字影像處理或玩3D遊戲裝入紋理數據時,受磁碟存取速度的影響,螢幕畫面時常會出現延遲和停頓。幸好,一種能在PC平台上套用的、名為"RAMDisk"(RAM驅動器)的技術應運而生,可解電腦玩家們的"燃眉之急"。補充套用RAMDisk技術的軟體很多,在安裝的過程中或在運行程式後,在Configure(配置)標籤頁面中選擇EnableRamDisk(啟用RAM驅動器)設定選項,並設定好DriveLetter(驅動器符號)、Size(驅動器大小)和FileSystem(檔案系統)。在FileSystem(檔案系統)中,可以選擇將要虛擬的磁碟為FAT、NTFS和RAW分區格式。
當Ramdisk分區為NTFS的時候就具有這種分區的所有性能,包括檔案壓縮、加密等等特性,特別是檔案壓縮特性可以讓你的Ramdisk增加更多的可使用的空間。建議使用這種分區類型。
重新啟動計算機後,就可以在資源管理器中看到虛擬的磁碟符號RAMDISK(S:),如圖2所示。打開該虛擬磁碟,操作界面和使用方法與真正的硬碟一樣,沒有什麼區別。不過Ramdisk的速度特別快,大概是現在7200轉硬碟速度的30倍。要注意的是這個"硬碟"一旦關機上面所有的資料都會丟失,重要的東西一定要在關機以前拷貝到硬碟上。
安裝
現在Ramdisk的安裝和設定非常簡單,運行Ramdisk,如果Ramdisk還沒有安裝,那么僅僅是點擊"安裝Ramdisk"按鈕就可以了,安裝時,windows可能會警告驅動程式沒有數字簽名,不去理睬它,按yes就可以了,好了,安裝完畢,這時除了"安裝ramdisk"按鈕以外的其他按鈕都可用了。設定也很簡單,僅僅包括盤符,記憶體盤大小,記憶體盤的類型,這3個選項。還有一些高級設定需要修改註冊表,一般情況下不需要設定。記憶體盤大小,單位是千位元組,這個數值完全取決於你的電腦的記憶體多少,如果你的電腦只有256兆記憶體,那么記憶體盤的大小最好不要超過64兆,如果你有1G記憶體以上,甚至可以把記憶體盤的大小設定為784兆。盤符的設定,沒什麼好說的,預設是R,只要是沒有使用的盤符都行。記憶體盤的類型,預設是固定磁碟(fixed),還可以設定為可移動磁碟(removable),選擇好需要的設定後,按"套用"按鈕或者"好滴"按鈕就可以了,打開資源管理器,你就會發現多了一個盤符R(假定你設定的盤符是R,以後都直接用盤符R來代表記憶體盤)。特性
由於Ramdisk有以上的特性特別適合用於存放臨時檔案。下面我們就將Windows中的臨時檔案設定到Ramdisk上。滑鼠右擊"我的電腦",在選單中選擇屬性。在彈出的"系統特性"選擇"高級"標籤,點擊"環境變數",在對話框中將變數"TEMP"和"TMP"的值設定為下圖所示。這樣系統的所有臨時檔案都放在了Ramdisk,解壓檔案的時候明顯感到快多了。同樣我們也可以在"Internet屬性"中將IE的臨時檔案設定到Ramdisk上。這樣設定好以後你會發現在解壓縮和上網的時候速度要快很多。用途
虛擬記憶體盤可以使用帶有壓縮機制的檔案系統,例如:cramfs。這是因為一般的RAM盤的容量一般都較小,且RAM的存儲空間比硬碟的要寶貴得多,價格也比硬碟要來得高,所以這樣做是很合理的。虛擬記憶體盤的一個用途是做為Web快取,這樣可以提高載入頁面的速度,因為硬碟的存取速度遠小於記憶體(RAM)的存取速度 。由於RAM的易失性,這一措施還帶來了安全性上的好處。
套用
系統套用
DOS系統:XMSDSK;
Windows系統:VSuiteRamdisk;
linux系統:直接格式化並掛載/dev/ramX即可(X是記憶體盤序號)
實際套用
如果你有2GB以上的記憶體,除了上文中提到的可以將IE臨時檔案和系統臨時檔案放到RAMDISK中以外,還可以將虛擬記憶體設在裡面。以4GB記憶體為例,我們可以用RAMDISK軟體設定2GB的虛擬盤,在系統屬性(右擊我的電腦)的性能設定中,將虛擬記憶體全部設定在R盤(具體哪個盤與RAMDISK設定有關,默認是R盤),設定1GB-1.5GB左右就可以,同時也將IE臨時檔案和系統臨時檔案放到RAMDISK中。這樣4GB記憶體基本能充分發揮起來了,即使安裝了WindowsVista作業系統,也不會感覺慢了。
如果你有1GB-2GB的記憶體,Ramdisk盤設定空間大概在256-512MB即可。這時就不要把虛擬記憶體設到這裡面了,因為它的空間太小了。
如果你還只有小於1GB記憶體,Ramdisk盤設定空間大概設定在16MB(物理記憶體不足256MB)-128MB(物理記憶體有512MB),只需要把IE臨時檔案設在這裡就可以了,系統臨時檔案和虛擬記憶體不要放進來了,因為空間實在太小了。
問題
用了很長時間的RAMDISK之後發現一些問題:
1.系統啟動的時候有時候會看到藍屏錯誤STOP:0x00000050,這個在XP、2003和Vista系統中都發現了,不知道為什麼,但是重啟以後自己就好了。啟動進入系統之後從來沒有藍屏過,就是啟動過程中有可能出現。可能和RAMDISK軟體版本有關。
2.安裝大程式或者解壓縮的時候可能出錯。這是由於RAMDISK空間不足引起的,安裝程式和解壓縮會把臨時檔案保存在系統臨時資料夾中,這個資料夾默認在C:\Windows\TEMP(假設C糟是系統盤)。但是我們為了加速,把這個資料夾移動到R盤中了,這樣安裝大程式或者解壓縮大檔案的時候,有可能會因為R盤空間不夠而出錯,解決辦法是滑鼠右擊"我的電腦",在選單中選擇屬性。在彈出的"系統特性"選擇"高級"標籤,點擊"環境變數",在對話框中將變數"TEMP"和"TMP"的值設定,將R:\TEMP改到硬碟隨便一個地方比如D:\TEMP(事先建立好這個資料夾)更改之後(可能需要重啟)再重新安裝,安裝完成後,將剛才的臨時資料夾刪除,並且將設定改回到R:\TEMP。
最佳化
記憶體盤設定好後,就是最佳化系統,充分發揮記憶體盤的作用。
1、首先設定系統的臨時資料夾目錄,告訴系統和應用程式把臨時檔案都寫到記憶體盤上,這樣可以提高系統的運行效率,又不需要擔心當機導致的臨時資料夾目錄逐漸增大的問題。右鍵點擊桌面上面的"我的電腦",高級=》環境變數,設定包括"用戶環境變數"和"系統環境變數"都改成R:\TEMP,記住,最好不要用R:的根目錄作為臨時目錄。
2、更改IE的快取目錄,告訴IE把瀏覽網頁時產生的臨時檔案都寫到記憶體盤上,可以加快ie的瀏覽速度,選擇控制臺=》intetnet選項=》常規=》設定,修改IE的快取目錄,如果是寬頻,這個目錄大小設定3-5M即可。
3、其他應用程式,如winrar,需要單獨設定,一般都比較容易找到修改設定的位置。但是如果是在設定系統的臨時資料夾目錄以後,安裝這些軟體,一般會根據系統設定自動調整,不需要修改了。
4、編譯程式產生的臨時檔案,用過visualC或者Gcc開發的朋友都知道,編譯的過程會產生大量的臨時檔案,少的也有十幾兆,可以調整編譯器的設定,使得編譯產生的中間檔案都存到記憶體盤上,可以極大提高編譯速度。
5、現在很多朋友使用P2P軟體下載,如edonkey,emule,BT等等,這些軟體的一個缺陷是由於是多執行緒訪問硬碟,使得硬碟的磁頭大量的無規律的移動,可能導致硬碟磁頭的磨損,但是這個缺點對於記憶體盤來說,卻根本不是缺點,因為記憶體盤根本沒有磁頭的機械運動,不過要記住下載完成後,要及時把檔案拷貝到硬碟上,以免重啟動後檔案丟失。
6、開臨時ftp伺服器分流熱門檔案,如果記憶體足夠大,可以把熱門的檔案完全放到記憶體盤上,這樣就不怕多執行緒訪問ftp造成硬碟損壞的問題了。一般,修改設定不需要重新啟動,但是,如果有其他應用程式正在訪問Ramdisk,會要求重啟動,這時最好關閉訪問Ramdisk的程式,值得注意的是ie的快取,如果被設定到Ramdisk,這時修改記憶體盤的設定,就會要求重啟動,因為IE快取在登入後就被資源管理器打開了,即使沒用IE也會被占住。方法是登入另一個管理員賬號,或者修改IE緩衝目錄(修改IE緩衝也要求重新登入)。