2008年3月21日 星期五

虛擬磁碟的題外話(Footnotes to Ramdisk)

虛擬化」應該是近年來相當受歡迎的技術之一,其中包括了多作業系統應用的軟體(VMware、XEN)、虛擬磁碟(Ramdisk)和虛擬記憶體:Windows的pagefile.sys(分頁檔)、Linux的SWAP。
多作業系統:電腦可「同時」運行兩個以上的作業系統。
虛擬磁碟:記憶體虛擬磁碟空間。
虛擬記憶體:硬碟虛擬記憶體。
不過虛擬化的應用,很多人都是看得著摸不到,再不然就是已經悄悄地躲在系統內,例:

1.VMware:「一般人」有正版的Windows,還會想多裝嗎?
2.虛擬記憶體:無論是分頁檔還是SWAP,預設安裝就具備。

那只剩下虛擬磁碟沒說,其實在網路上有關RAMDISK的文章(請愛用Google)很多,我這邊不是要說安裝設定,而是來聊一些其它的事...

其實Ramdisk在幾年前應該是遙不可及的一種應用技術,因為那時候的記憶體價格居高不下,大多數人很難有餘力多買昂貴的記憶體來虛擬硬碟。

近年來,記憶體的價格比較能夠讓人親近,Ramdisk的應用也漸漸變多,大多數的人都是用來取代瀏覽器的暫存檔(temp)快取(cache),甚至有人用記憶體來取代分頁檔,因為記憶體存取的速度比硬碟快出許多,大多數都是看重它的讀取速率

其實,它的功用絕不是只有用在增加效能,對於其它部份它一樣能有建樹,例:資安防毒...等,主要是它特性上的應用,只是看你有沒有發現而已。

1.暫存檔:
如果將瀏覽器的暫存檔(例:Temporary Internet Files)改放在Ramdisk的磁碟區,你在網路上所有讀取的資料,只要你一關機,它就消失無蹤,別人要查也無從查起(當然還有加上其它的設定,例:畫面保留天數=0...等)。



2.Cookies:
除此之外,其實還有一個很多人忽略的部份,那就是Cookies,他與暫存檔的位置不同,如果也想把它直接移到Ramdisk內,可能就得要動點手腳(改登錄檔):

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders(Cookies:%USERPROFILE%\Cookies <--改至Ramdisk的磁碟區)

隨時清除暫存檔跟Cookies有什麼好處呢?

如果你有掃毒的經驗,我在先前的文章提到過清除病毒前,有些動作一定要先行處理,例:關閉系統還原清除所有暫存檔、將防毒相關軟體的病毒碼更新、進安全模式...等,如果你是把所有暫存檔(含Cookies)放在Ramdisk中,基本上你就不用做清除的動作,因為你重新開機進入安全模式時,它的內容就會全部消失。(這部份是記憶體的特性

如此也能夠降低被病毒的感染機率(並非完全不會中毒唷!),如果你有使用網路上很多文章提到的bat檔來備份及還原,還可以協助你分析究竟是那兒出了問題。

分頁檔的注意事項:
使用Ramdisk來取代分頁檔大型軟體做為暫存檔使用,原則上應該都將Ramdisk設定超過1GB才真的有實用價值,這部份可能在PC上較為常見,如果你採用Ramdisk的分頁檔太小,原則上很容易造成系統不穩程式突然中止的狀況,因為Windows無論記憶體大小,都有設置分頁檔的必要性。

最後,還有一點很多人會犯的錯誤,其實筆者自己就傻傻地發生過,那就是我把瀏覽器的暫存檔設在Ramdisk上(例:200MB),結果...我上Windows的自動更新,其中有一個套裝軟體的SP1(>200MB),我一更新就發現自動更新永遠無法完成,因為暫存區不夠將自動更新的程式完全儲存,一般來說或許200MB很夠用,如果你有下載較大的檔案(P2P或大型軟體),也要注意這部份的容量,否則抓了一晚都停在xx%,又不支援續傳的話...我想應該會有想吐血的衝動吧!

以上是我對Ramdisk的題外話,如有其它應用或看法,歡迎留言或指教。