首先,什麼是RamDisk? 顧名思義就是,用"RAM (Random Access Memory)"組成的"Disk"。 咦?這解釋怎麼很像有講跟沒講一樣... 好吧~ 看維基大神比較快... http://en.wikipedia.org/wiki/RAM_disk (中文:http://zh.wikipedia.org/wiki/RAM_disk )

講得非常白話、易懂,他就是一種利用系統記憶體的空間所虛擬出來的硬碟,讓我們得以利用記憶體的高讀寫速度來加快部分本來放在傳統硬碟上的資料的存取作業。為什麼要這麼做呢?因為我們一般使用的傳統硬碟受限於碟片、讀取頭與馬達的物理特性,所以讀寫速度無法跟CPU、記憶體相提並論。自然地,他在硬碟資料讀取頻繁的作業中就成為了系統效能的瓶頸。因此,就衍生出了將系統中多餘的記憶體空間模擬成硬碟的應用。一般來說,RamDisk常見的用途在於將某些不具重要性與回存性的資料丟進去,改將RamDisk作為這類資料的讀取作業的存取地點,以加快資料的讀寫速度。舉例來說,這類特性的資料有:瀏覽器的暫存區、系統的暫存區、系統的Page file,以及Ready Boost等。但因為隨著作業系統的進步,各類機制也都不斷精進,導致RamDisk在某些應用上的必要性就成了許多人討論的重點,甚至打上一個大問號。不過,這類的爭論與知識牽扯相當廣泛,本人就不在這細說,有興趣的人可以求助估狗大神 (參考關鍵字:RamDisk Page file等)。本篇文章只著重在比較明確且無爭議的應用上,就是將RamDisk作為瀏覽器的暫存區與Ready Boost之用

廢話不多說,進入正題。我們既然要使用RamDisk來做電腦的加速,那當然就得先把RamDisk給建出來啦!不過,建立RamDisk的軟體有很多種 (SuperSpeed RamDisk Plus、Gavotte RamDisk、BUFFALO RAMDISK、Dataram RAMdisk、QSsoft RAMDisk、VSuite Ramdisk等),各有各的優缺點,有些是免費軟體,有些則是要收費的,有些只有32-bit版才是免費的,有些則是只有32-bit支援性較佳,端看各人喜好與使用需求來選擇。至於各套軟體的比較與優缺點一樣可以求助估狗大神,相信應該有蠻多資料可以參考的 (可參考這篇國外文章:RAM Disk Software Benchmarked for Fastest Read and Write Speed點這直接快速瀏覽前述網頁的截圖)!因為我個人使用的是SuperSpeed RamDisk Plus,所以接下來都是以此套軟體的介面為例。

[2013/08/31 更新]
當初撰寫這篇文章是2011年,過了兩年多,RamdDisk軟體也有了些變化...
當時的VSuite Ramdisk現在改叫Primo Ramdisk了,但一樣只有付費授權版... 不過功能加強許多,有需求的人還是可以考慮付費購買。
Dataram佛心來的把免費版開放到同時支援32-bit與64-bit作業系統,但免費版的Ramdisk size一樣限制在4GB,但也因為開放64-bit系統,所以個人給他大大的加分!
最後就是市場上出現了一個更熱門的Ramdisk軟體 - SoftPerfect RAM Disk!免費、功能多、限制少!直接看看官方網站上的特色... ANY number of RAM diks、ANY RAM disk size... 光這兩個ANY就打趴一票免費軟體... XDD 而且他也支援在開機最早階段就把Ramdisk掛起來,所以對於把系統Temp資料指向Ramdisk完全沒有問題!個人也很推薦這款Ramdisk軟體!

SoftPerfect Ramdisk     

[2013/08/31 更新結束]

 

通常,會使用RamDisk的「一般使用者」,主要都是下面這兩種狀況:(1)使用32-bit作業系統+系統記憶體超過3GB,所以希望藉由RamDisk把作業系統無法使用與管理的記憶體範圍善加利用;(2)使用64-bit作業系統+系統記憶體超過4GB,所以希望把平常不會耗盡的記憶體空間拿來作為暫存加速用。

但因為上述列出來的常見RamDisk軟體,只要是免費的,幾乎都只支援32-bit作業系統,或只有支援32-bit作業系統的版本才有免費或允許試用。所以,基本上若要在64-bit作業系統上使用RamDisk,大多得付費,或功能受限、屈就於較舊版的軟體(因為某些需付費的RamDisk軟體,只有舊版的才有簡單易用的謎版可以抓。新版因為認證機制的加強,所以謎版比較麻煩且不穩定... )。因此,接下來要介紹的內容都是針對(1)下使用RamDisk的狀況。但不論是(1)或(2),操作方式都是大致相同的,唯一最大的差別在於軟體的取得與安裝的部分。

 

Step 1: 安裝RamDisk軟體。這部分視軟體的不同有頗大的差異,所以請各自求助估狗大神。不考慮謎版的話,基本安裝方式都是NEXT到底就對了。

Step 2: 因為我們是針對狀況(1),所以我們必須先讓RamDisk軟體可以取得作業系統無法使用的記憶體範圍的存取能力,並初始化他們。若你不是要利用作業系統無法存取的記憶體範圍來做RamDisk的話,則可以跳過此步驟。

基本步驟:點選"Unmanaged" >> 點選"Configure" >> 勾選"Enable use of unmanaged memory" >> 等RamDisk運作數秒鐘後... 可在綠色方框的位置看到軟體執行後辨識出的unmanaged memory結果 >> 點選"OK"

RamDisk_1    

(圖片都可以點圖放大)

Step 3: 新增RamDisk。這一步驟中要新增的RamDisk大小可以參考前一步驟RamDisk所辨識出來的unmanaged memory大小或自己的需求來決定。我個人是把unmanaged memory的部分都拿來當RamDisk,反正作業系統又無法使用他們,擺著也是擺著。

不過這地方要注意的一點是,若你新增的RamDisk大小超過unmanaged memory的大小,那麼就會佔用到作業系統實際上可以使用的記憶體大小。所以,在這狀況下,當你一新增完RamDisk後,你就會發現工作管理員中已使用的實體記憶體空間會增加。當然,若你的系統記憶體空間非常多,你也可以多新增幾個RamDisk,然後分別做為不同用途。

基本步驟:決定RamDisk大小 >> 決定是否在移除或重載RamDisk後將該RamDisk所佔用的記憶體空間填0 (表示用寫0的方式將該區的資料覆蓋掉) >> 決定RamDisk的磁碟代號 (我個人是習慣最後Z開始用) >> 決定RamDisk的format (除非只用在4GB以下小檔的暫存之用,否則建議選擇NTFS) 、是否要在RamDisk產生一個temp資料夾與是否要壓縮檔案 >> 決定是否要在關機前將RamDisk內容寫回硬碟 (若該RamDisk中的資料需在關機後保留或該資料非暫存性質,則建議務必寫回,以免日後因疏忽而導致重要資料遺失。相反的,若內容都只是暫存性質的,如瀏覽器暫存檔、系統Temp資料,則"強烈"建議不要寫回,這樣可以省下開關機的時間!) >> 最後再次確定設定無誤,即可產生RamDisk

RamDisk_2   

RamDisk_3   

p.s 若設定關機前將RamDisk寫回硬碟中,則視不同軟體與RamDisk的容量大小,可能會稍稍增加關機時間。但基本上影響不多,除非你的RamDisk大到好幾GB以上。

Step 4: 將瀏覽器的暫存資料夾改為RamDisk所在的磁區。

A. Firefox
  a.1 開啟 Firefox
  a.2 在網址列打入:about:config
  a.3 在下方命令行任意處按右鍵,選「新增」>>「字串」
  a.4 設定名稱處鍵入:browser.cache.disk.parent_directory
  a.5 設定內含值處輸入:Z:\   ( 你的RamDisk磁碟 )

B. IE 7 以上
  b.1 開啟 IE >>工具 >>網際網路選項>>瀏覽歷程記錄 >>設定>> 移動資料夾
  b.2 將Temporary Internet Files 暫存目錄移至 Z:\ (你的RamDisk磁碟)

C. Chrome
  c.1 Chrome本身並不直接提供使用者自訂快取空間大小以及資料夾位置的設定,使用者必須透過新增參數在捷徑裡頭才能發揮作用。
  c.2 在Chrome的捷徑按下右鍵選擇內容,並且在目標chrome.exe後面空一格加入 --disk-cache-dir="Z:\Chrome" --disk-cache-size=262144000 並套用到捷徑中。
  c.3 重新啟動Chrome即可套用參數指定值。
  p.s --disk-cache-dir: 指定快取檔案位置
      --disk-cache-size: 指定暫存檔案使用空間大小

 

Step 5: 在RamDisk上啟用Ready Boost。注意!此步驟僅建議用於符合以下條件的電腦:(I)效能較差的PC或NB。(II)配置傳統HDD,而非SSD。(III)HDD為效能較差的2.5"或5400RPM類型

基本步驟:RamDisk磁碟右鍵 >> "內容" >> "Ready Boost" >> "使用這個裝置"

RamDisk_4   

這裡需注意的是,雖然Windows會依據你磁碟空間的大小而有建議值,但仍然可以自行調整,只要記得不要設太小就好 (個人認為不要低於256MB)。

 

最後,其實就如文章一開始所說的,RamDisk可應用的範圍不僅於此,除了眾說紛紜的系統Page file、Temp變數的加速外,對某些軟體快取的加速也是非常有效,如:Photoshop等相關繪圖軟體、Nero、影音轉檔軟體等。甚至連企業級的伺服器都有相關的應用。有興趣的人可以上網求助估狗大神,然後依樣畫葫蘆試試看,相信應該有很多好用的東西可以玩囉!

 

===================== 2011/07/08 Update =====================

最近無意間發現了使用RamDisk時必須注意的一點在這跟大家分享一下。

那就是,若你使用RamDisk的環境是上述場景(1) "使用32-bit作業系統+系統記憶體超過3GB,所以希望藉由RamDisk把作業系統無法使用與管理的記憶體範圍善加利用" 的狀況,那很可能會以下的問題。

a. 使用Windows中的休眠(Hibernation)的方式關機 -> 開機(從休眠中醒來) -> 發現某些將暫存區設在RamDisk中的軟體跳出錯誤訊息(尤其是IE與MSN)。

b. 或有時候電腦從休眠中開機後,RamDisk會消失不見。

基本上,根據場景(1)的條件下,我們所設定的RamDisk範圍是作業系統所無法使用與管理的記憶體範圍,所以合理推論:在準備進行休眠時,作業系統跟本沒有正確地將RamDisk那塊記憶體空間寫回硬碟中。導致下次從休眠中開機時,作業系統當然也沒辦法正確地將RamDisk那塊記憶體空間從硬碟中讀出來並寫回記憶體中。因此,電腦從休眠中醒來後,前次休眠的當下RamDisk那塊記憶體空間中的資料就不見了,造成使用那塊記憶體(RamDisk)當暫存空間的軟體在使用時就出了問題。所以,基於這問題的發生,強烈地建議若在場景(1)下使用RamDisk,不要使用休眠作為關機的方式。以免每次從休眠中醒來,都可能遇到上面的狀況。但我想,多數使用休眠的場景大都是在NB上,一般Desktop應該很少人使用休眠當做關機的方式,所以影響應該不大。

===================== 2011/07/08 Update End =====================

創作者介紹
創作者 Leonids 的頭像
Leonids

Spring-Training Ballpark

Leonids 發表在 痞客邦 留言(2) 人氣()


留言列表 (2)

發表留言
  • 路人甲
  • 謝謝,很詳細
  • 訪客
  • use useful for me ,thank you Sir....