Mac 上的 RAM 磁碟:終端機命令和免費的 App

Mac 上的 RAM 磁碟:終端機命令和免費的 App

「磁碟工具程式」沒有「新增 RAM 磁碟」按鈕,但 macOS 其實能建立 RAM 磁碟:兩個內建的終端機命令 hdiutil 和 diskutil,只要一行就能在記憶體中建立磁碟。以下說明命令、大小的計算、如何退出磁碟、這種方式做不到的事,以及什麼時候用 App 比較簡單。

重點整理
  • 2 GB 的 RAM 磁碟:diskutil erasevolume APFS RAMDisk $(hdiutil attach -nomount ram://4194304)
  • 大小以 512 位元組的磁區為單位:GB 數 × 2097152。
  • 退出:在 Finder 中退出,或使用 hdiutil detach:檔案會消失,記憶體會歸還。
  • 重新啟動後磁碟也會消失。免費的 Exlade RamDisk App 可以連同檔案一起把它恢復。

在終端機中建立 RAM 磁碟

開啟「終端機」(應用程式 → 工具程式),執行一行命令。這行命令會建立一個名為 RAMDisk 的 2 GB 磁碟:

diskutil erasevolume APFS RAMDisk $(hdiutil attach -nomount ram://4194304)
  • hdiutil attach -nomount ram://4194304 會在記憶體中建立一個區塊裝置,並顯示它的名稱,例如 /dev/disk4。
  • diskutil erasevolume APFS RAMDisk ... 會格式化這個裝置,並掛載為 /Volumes/RAMDisk。它會像 USB 隨身碟一樣出現在 Finder 中。
  • 若要使用 Mac OS 擴充格式,請把 APFS 改成 HFS+。兩者都適用於暫時性的磁碟。

不需要 sudo 或管理者密碼。

需要多少磁區

ram:// 後面的數字是以 512 位元組為單位的磁區數,而不是 MB。1 GB 是 1024 × 1024 × 1024 / 512 = 2097152 個磁區,1 MB 是 2048 個。

磁碟大小 磁區數 要輸入的內容
512 MB 1048576 ram://1048576
1 GB 2097152 ram://2097152
2 GB 4194304 ram://4194304
4 GB 8388608 ram://8388608
8 GB 16777216 ram://16777216

diskutil erasevolume 會清除您指定的任何裝置。請保留 $(...) 的寫法,讓它從 hdiutil 取得 RAM 裝置;除非已在 diskutil list 中確認過,否則絕對不要手動輸入磁碟編號。

適用的 macOS:這些命令在 macOS 中已存在多年,在 Apple Silicon 和 Intel 的 macOS 15 Sequoia 和 macOS 26 Tahoe 上仍然可以使用。hdiutil 的手冊頁面仍附有 ram:// 的範例。APFS 需要 macOS 10.13 High Sierra 或更新版本;HFS+ 則在所有版本上都能使用。

退出 RAM 磁碟

在 Finder 中按一下磁碟旁邊的退出按鈕,或使用 hdiutil 顯示的裝置名稱執行以下其中一行命令:

hdiutil detach /dev/disk4
diskutil eject disk4

如果忘了名稱,可以用 hdiutil info 或 diskutil list 再次查看。磁碟上的所有內容都會被刪除,macOS 會收回記憶體。

終端機方式做不到的事

擅長
  • 內建於 macOS,不需要安裝任何東西
  • 不需要管理者權限
  • 適合單次工作階段或一次大型建置使用的磁碟
限制
  • 重新啟動後就會消失,連同所有檔案
  • 大小固定:要變更就得退出後重新建立
  • 只有在退出磁碟時才會歸還記憶體
  • 除非自己寫指令碼,否則不會在登入時建立
  • DerivedData 等快取必須手動移動

若要在每次登入時都有這個磁碟,請把命令寫進 shell 指令碼,並用 LaunchAgent 啟動它:在 ~/Library/LaunchAgents 中放一個含有 RunAtLoad 的 .plist 檔案。不過磁碟恢復時仍然是空的:儲存和還原檔案要靠您的指令碼來處理。

App 方式:Mac 版 Exlade RamDisk

Exlade RamDisk 是一款免費的 RAM 磁碟 App,適用於 Apple Silicon 和 Intel 的 macOS 15 及更新版本。它位於選單列中,不需要管理者權限,供家用和工作免費使用。它也能在 Windows 和 Linux 上執行:請參閱發佈公告。

  終端機 Exlade RamDisk
重新啟動後 消失 重新建立,可選擇保留檔案
調整大小 退出後重新建立 隨時,檔案保留
DerivedData、npm 快取 手動移動 範本會移動它們
加密 額外的 diskutil apfs 命令 APFS 加密,隨機金鑰
記憶體不足 自己留意 儲存檔案,並提議退出未使用的磁碟
安裝

從下載頁面下載並拖到「應用程式」資料夾,或用 Homebrew 連同 eramdisk 工具一起安裝:

brew install --cask exlade-ci/tap/exlade-ramdisk
建立磁碟

按一下「新增 RAM 磁碟」並設定名稱和大小,或選擇範本:「Xcode」會為 DerivedData 建立 8 GB 的磁碟,「npm」會為 npm 快取建立 2 GB 的磁碟。Swift Package Manager、CocoaPods、Homebrew 和 Chrome 的快取以及 TMPDIR 也可以移動。Xcode 和 npm 會在它們的設定中取得新位置(請重新啟動 Xcode),TMPDIR 會套用到之後啟動的 App,其他資料夾則會被替換成連結,所以 App 仍使用原來的路徑。

重新啟動後保留磁碟

開啟「RamDisk 啟動時建立」;如果檔案很重要,也開啟「保留檔案至下次啟動」:檔案會每 5、10 或 30 分鐘以及睡眠之前儲存。接著在設定中開啟「登入時打開」。

讓它留意記憶體

在「設定」→「行為」中,「記憶體不足時採取動作」會儲存要保留的檔案,並提議退出 10 分鐘內沒有任何東西使用的磁碟。已滿的磁碟可以加大。

Mac 上的 Exlade RamDisk 設定,「行為」分頁:磁碟幾乎已滿時、記憶體不足時採取動作、退出無人使用的磁碟

給開發者:範本會移動哪些資料夾,請參閱 Exlade RamDisk 的資料夾和範本頁面。

常見問題

如何在 Mac 開機時建立 RAM 磁碟?

macOS 本身不會這麼做。您可以在登入時從 LaunchAgent 執行終端機命令,或使用 App:在 Exlade RamDisk 中,為磁碟開啟「RamDisk 啟動時建立」,並在設定中開啟「登入時打開」。

8 GB 是多少個磁區?

16777216:8 × 1024 × 1024 × 1024 位元組除以 512。任何大小都可以用 GB 數乘以 2097152,或 MB 數乘以 2048 來計算。

APFS 還是 HFS+?

兩者都可以。HFS+(Mac OS 擴充格式)適合暫時性的磁碟。如果您想要加密的 RAM 磁碟,就必須使用 APFS:Exlade RamDisk 的加密磁碟一律使用 APFS。

RAM 磁碟能在 Apple Silicon 上使用嗎?

可以。終端機命令在 M 系列和 Intel 的 Mac 上都相同,Exlade RamDisk 也是通用 App。在 Apple Silicon 上,記憶體是與 GPU 共用的,所以在 8 GB 的 Mac 上請把磁碟設小一點。另請參閱 Exlade RamDisk 的記憶體管理。

免費下載 Exlade RamDisk

支援 Windows 10 與 11、macOS 15 以上版本、Ubuntu、Debian 與 Fedora。無須註冊,沒有試用期。

免費下載 功能