July 14,2013 00:19

Ramdisk (Mac篇)

去年曾針對Windows發一篇優化Win7的Ramdisk。Win8筆者這邊基本確定直接無視。樂
今天要講的是Mac篇:
Mac的Ramdisk建立不需要靠第三方的軟體就可以完成,而且效能還真不錯,畢竟人家是Unix架構。
開啟應用程式->工具程式->AppleScript編寫程式
貼上代碼:
------------------------------------------------------------------------

do shell script "

if ! test -e /Volumes/RamDisk ; then

diskutil erasevolume HFS+ RamDisk `hdiutil attach -nomount ram://$((2*1024*1024*2))`

mkdir -p /Volumes/RamDisk/Chrome/Cache

mkdir -p /Volumes/RamDisk/Safari/Cache

mkdir -p /Volumes/RamDisk/VMware

fi

"

------------------------------------------------------------------------

紅色數字表示你要建立的GB數,2就是2GB。

至於路徑mkdir -p/Volumes/XXXXX就自行增減吧!!!

最後,如下圖,記得儲存為"應用程式"。(不然會無法直接執行)

製作完將它放在"應用程式"裡,再來是讓它隨開機啟動,如圖所示:

搞定後,記得重開機,確保一切正常。

------------------------------------------------------------------------

再來是將瀏覽器的Caches放到Ramdisk裡。

Chrome:

終端機下: (移除原Caches下的檔案)
rm -rf ~/Library/Caches/Google/Chrome/Default
使用SoftLink to Chrome Cache(簡單的說就是移動資料夾的連結指令,有點像捷徑。)
ln -s /Volumes/RamDisk/Chrome ~/Library/Caches/Google/Chrome/Default

Safari:

終端機下:
rm -rf ~/Library/Caches/com.apple.safaridavclient
一樣是使用SoftLink to Safari Cache
ln -s /Volumes/RamDisk/Safari/Cache ~/Library/Caches/com.apple.Safari

FireFox:

在網址上Key上: about:config

右鍵新增:browser.cache.disk.parent_directory 路徑就是  /Volumes/RamDisk/Firefox

------------------------------------------------------------------------

最後一個是VMWare,它的記錄檔是寫在"xxx.vmx",用文字編輯器打開。

找到一行叫: workingDir = "/Volumes/RamDisk/VMware"(這個自己改就行了)

基本上workingDir裡面放的就是VMWare的虛擬記憶體,只是讓它直接讀寫在真實記憶體上,但這樣一來就不可以用Shutdown的方式結束VMWare裡的OS,因為RamDisk裡的東西是關機後就會自動消失的。

------------------------------------------------------------------------

後記: 

這篇文章,我沒打算講得很仔細,希望有一定基礎的讀者再嘗試,新手就算了。

目前有一個蠻麻煩的缺點,就是睡眠會視同關機,RamDisk會被強制退出。

(有個小秘密,點"繼續閱讀"報給你知。)

--------------------------------------------------------------------------------

10.8.5(12F45)版修正後,RamDisk不會再因睡眠被強制退出。(2013/10/04更新)

話說,我無意間發現,RamDisk不再會因睡眠而被退出的方法,不過前提是睡眠模式是0而不是蘋果預設的3。(OS X 10.8.4 12E55)詳細辦法請見…

PS. 其實就是讓Ramdisk隨開機啟動,若進系統後,又沒事把Ramdisk關閉,再開一次Ramdisk,還是會出現睡眠登出的情況,哈哈~

除了受到睡眠模式改變外,隨開機啟動的機制為什麼不會有問題呢?我也不清楚。
最後祝各位讀者Ramdisk也能玩出心得來吧!!!話說Mac版的Ramdisk自從10.7來,睡眠會登出後,用的人可說是越來越少了。

----------------------------------------------------------------------------------
總算找到原因了,其實它是一個Bugs,因為某個USB的裝置造成Ramdisk在睡眠時不被退出。但我將那個USB裝置移除後,只要一睡Ramdisk又正常地退出了。 ><"'
----------------------------------------------------------------------------------
10.8.5(12F45)版修正後,RamDisk不會再因睡眠被強制退出。(2013/10/04更新)

  • jason1204 發表於樂多回應(2)引用(0)神秘小奧步(大公開) >> 【8】啃蝕蘋果編輯本文
    樂多分類:日記/一般切換閱讀版型 │昨日人次:0 │累計人次:14156

    引用URL

    http://cgi.blog.roodo.com/trackback/25366852

    回應文章
    MacOSX裡一樣有虛擬記憶體的管理,路徑是: "/private/var/vm/"的swapfile。
    一般情況下不會調用,只有在記憶體吃緊的情況下才會寫入,對SSD來說,其實很傷壽命。

    MacOSX下使用的頻繁度會受到實際記憶體大小影響,所以可以因個人需求讓它寫在RamDisk裡,即便重新開機後被刪除也不影響正常的功能和程序的錯誤。它的控制文件在"/System/Library/LaunchDaemons/com.apple.dynamic_pager.plist",不建議關閉其功能,但可以修改swapfiles的路徑到RamDisk上。
    ---------------------------------------------
    版主回覆:
    修改過的plist文件要記得以終端機修復權限!
    | 檢舉 | Posted by Jason at September 4,2013 23:00
    請問如何取消Caches放到Ramdisk裡的指令?

    現在我每次打開RamDisk 裡面都有3個Folder分別是Chrome,Safari,VMware 但裡面是空的

    從開電腦都一樣
    ---------------------------------------------
    版主回覆:
    1. 直接修改"AppleScript"裡的代碼就可以了。
    2. RamDisk本身比較適合進階人使用,此外,建議系統記憶體在8G以上。
    3. 如果覺得不合適,直接移除,關閉開機直接載入就可以了。
    | 檢舉 | Posted by Frank at January 29,2014 14:48