Skip to main content

Persistent RAMDisk on macOS

Works on macOS Big Sur.

Reference

Setup persistence

There is a non-deprecated way to do it:

  • Open the Script Editor app.
  • Paste
    do shell script "~/.login"

    on quit
        do shell script "~/.logout"
        continue quit
    end quit
  • File > Save, Select Application and Stay open after run handler and Save
  • System Preferences > Users & Groups > Login Items tab > + button
  • Add the application and mark it as Hidden

To hide it from the Dock:

  • Right-click the application and select Show package contents
  • Open Info.plist and add
    <key>NSUIElement</key>
    <string>1</string>

Create RAMDisk scripts

$ touch ~/.login
$ touch ~/.logout
$ chmod +x ~/.login
$ chmod +x ~/.logout

Open ~/.login and paste

#!/usr/bin/env bash
diskutil erasevolume HFS+ "RAMDisk" `hdiutil attach -nomount ram://2097152` && rsync -rauL --ignore-errors ~/.RAMDisk/ /Volumes/RAMDisk

Open ~/.logout and paste

#!/usr/bin/env bash
rsync -rauL --delete --ignore-errors /Volumes/RAMDisk/ ~/.RAMDisk

Mount the RAMDisk: $ ~/.login The RAMDisk should appear in Finder.

PHPStorm caches on RAMDisk

Create a folder called PHPStorm on the RAMDisk

Start PHPStorm > Help > Edit custom properties... and paste

idea.system.path=/Volumes/RAMDisk/PHPStorm