在 macOS 建立 Ram Disk 沒有比這更簡單的方法了

大家都說要在 Mac 上建 Ram Disk 很簡單,但老實說,簡不簡單不是在操作步驟前面加個「只要」就變簡單了。

目前普遍的方式都是在 Terminal 終端機裡下指令或寫成 shell script 讓人修改使用,不但要做大小單位換算,還要略懂 Unix 目錄結構、磁碟結構、裝置代號檔名……執行後跑出來的一堆訊息也不知如何驗證正確性,萬一執行錯誤問題可大可小,對終端機命令不熟的使用者,這些步驟仍有些難度。

推薦一個由奧地利工程師寫的一個小巧免費好工具,名稱也取得很直白,就叫[RAMDiskCreator],除了建 Ram Disk 沒其它功能,操作步驟也只需要填上容量按建立就完成了,甚至連安裝都不需要,想安裝的話直接把它移到應用程式資料夾裡即可。

價格:免費

官網:https://bogner.sh/?p=492

載點:Mac OS X 10.8 Mountain Lion 後請下載此版

10.7 Lion 或更早下載此版

作者也表明 App 是基於以下終端機指令包裝起來(以 4G 容量 RAM Disk 為例):

diskutil erasevolume HFS+ ‘My 4GB RAM Disk’ hdiutil attach -nomount ram://8388608

建立 RAM disk

  1. 執行[RAMDiskCreator]
  2. 在 Size 欄位填上想建立的 RAM Disk 容量再按[Create Ram Disk],Finder 會立即多出一個虛擬裝置,亦可重覆執行此步驟建立多個 RAM Disk。
▲ 執行後立即出現 RAM Disk 裝置
▲ 執行後立即出現 RAMDisk 裝置

欄位說明:

  • Size: 填上想建立的容量,支援小數點
  • 容量單位有 GiB=GB、MiB=MB、KiB=KB
  • Name: 如果建立多個磁碟,可更改磁碟名稱方便辨識。
  • ATTENTION:提醒系統剩多少可用記憶體空間,可做為決定要建立的 RAM Disk 大小參考。

適度建立 RAM Disk 大小,佔用過大會讓系統或應用程式記憶體不足造成反效果。

  • 記憶體在 4G 以下不建議使用 RAM Disk
  • 8GB 記憶體建議 RAM Disk 不要超過 2GB
  • 16GB 以上記憶體,保留 8GB – 12GB 給系統,只要沒有開啟太多應用程式或是執行大型應用,剩下的空間都算安全。

如果第一次執行[RAMDiskCreator]跳出警告請參考這裡解除

應用

RAM disk 可以應用的地方很多,它的速度快是最佳效能測試平台,它易揮發的特性讓資料消失後不會留下痕跡,間接增加安全性。

  • 效能測試
    記憶體是電腦裡速度最快的儲存裝置,測硬碟或 SSD 只要把目標磁碟指向 RAM Disk 即可榨出裝置全部效能1
  • 減少寫入次數提高 SSD 壽命(BT 下載)
    SSD 每個區塊的平均寫入壽命約為一千次,雖然現在 SSD 平均容量至少在 256G 以上,加上一些區塊平均寫入技術2,很難有機會讓某個區塊會寫入到一千次以上,但 BT 下載很容易針對小部份區塊做大量存取,這也是為何普遍都不建議在 SSD 上做 BT 下載的原因,如果先下載到 RAM Disk 就沒有這様的問題。
  • 暫存磁碟、暫存資料夾(如安裝、解壓縮、下載、瀏覽器…)
    • 壓縮、解壓縮檔案都需要有個暫時存放資料的目錄整理臨時檔案。
    • 瀏覽器為了提升使用體驗,加快瀏覽速度,通常會把近期瀏覽過網站圖片先放在暫存資料夾保留一段時間,如果把暫存資料夾改到 RAM Disk,每次卸載或重開機暫存資料就會被徹底清空,間接提升安全性。
    • 應用程式快取、暫存檔(影片剪輯宣染、PhotoShop 快取…)

某些應用程式會建立自己的快取檔,把快取檔放到 RAM Disk 的效能提升度取決於應用程式優化程度3

  • 一次性作業系統
    VM 檔放到 RAM disk 上,跑起來會快得很離譜

以上只是隨便舉幾個應用的例子,自己再舉一反三。

注意事項

  • 睡眠/待機、休眠 RAM Disk 資料都不會消失,但重開機會。
  • 卸載 RAMDisk 磁碟不會跳出警告提示(除非檔案在使用中被鎖住),記得資料要先存到實體磁碟再卸載。
  • 不要把重要資料放在上面,一但卸載沒有任何救回來的機會。
  • 相對建議在 MacBook 上使用 RAM Disk 較為安全,萬一發生瞬間跳電,電腦重開機資料亦會消失,除非有 UPS。
  • 當機 RAM Disk 裡的資料也會不見

註:

  1. 要用 RAM Disk 完全發揮測試裝置效能的前提是傳輸界面頻寬要大於裝罝效能。
  2. 寫入次數平均分散到每個區塊,防止少部份區塊有較高的寫入率,間接提高 SSD 平均壽命 。現今 SSD 韌體、驅動程式多少已有加入此機制,作業系統層則要開啟 Trim 功能搭配。
  3. 快取是早期為了因應機械式儲存裝置的物理限制使用技術,現今應用程式會視記憶體大小判斷是否有用 SSD 而最佳化快取方式,把快取檔移到 RAM Disk 是否會提升效能需實際驗證。