Skip to content

Instantly share code, notes, and snippets.

@htr3n
Last active July 15, 2026 14:34
Show Gist options
  • Select an option

  • Save htr3n/344f06ba2bb20b1056d7d5570fe7f596 to your computer and use it in GitHub Desktop.

Select an option

Save htr3n/344f06ba2bb20b1056d7d5570fe7f596 to your computer and use it in GitHub Desktop.
Creating RAM disk in macOS

Built-in

diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nobrowse -nomount ram://XXXXX`

where XXXXX is the size of the RAM disk in terms of memory blocks.

Notes:

$2048$ memory blocks correspond to 1MB. Thus, XXXXX = YYYY * 2048 where YYYY is the size in MB.

E.g.

  • ram://2048 will create 1MB RAM disk
  • ram://2097152 --> 1 GB
  • ram://4194304 --> 2 GB
  • ram://8388608 --> 4 GB

Third-party Tools

  • TmpDisk:: Open Source RAM disk management app.
  • Ultra RAM Disk installs as a menu bar item that allows you to create RAM disks when needed.
  • RAMDisk: is an app for creating as well as backing up RAM disks, to allow you to save their contents as well as restore RAM disks when you restart your Mac.
  • RAMDiskCreator

Resources

@productdevbook

productdevbook commented Sep 19, 2021

Copy link
Copy Markdown

@kvaDrug. hdiutil detach /dev/disk2 works for me

diskutil erasevolume HFS+ 'RAM Disk' disk0 `hdiutil detach /dev/disk0 -nobrowse -nomount ram://33554415`

thats true ?

ghost commented Jun 12, 2023

Copy link
Copy Markdown

use APFS instead of HFS+, you may gain a better performance(based on test with Blackmagic)

@anki-code

anki-code commented Jul 15, 2024

Copy link
Copy Markdown

The same for xonsh shell:

diskutil erasevolume HFS+ 'myramdisk' @$(hdiutil attach -nobrowse -nomount ram://@(2097152*1))
ls /Volumes/myramdisk
hdiutil detach @($(df | grep ram1g).split(' ')[0])

@johnalanwoods

Copy link
Copy Markdown

Built a modern version here, supports APFS: https://github.com/johnalanwoods/RAMDisk

@eirnym

eirnym commented Jul 14, 2026

Copy link
Copy Markdown

mount at very specific mount point.

Please tell me if you know how do the same, but with JHFS+ and without EFI partition.

Adjust commands for actual values

$ hdiutil attach  -nomount  -mountroot target  ram://8388608 
/dev/disk6
$ diskutil apfs createContainer /dev/disk6  
Creating container with disk6
Started APFS operation on disk6
Creating a new empty APFS Container
Unmounting Volumes
Switching disk6 to APFS
Creating APFS Container
Created new APFS Container disk7
Disk from APFS operation: disk7
Finished APFS operation on disk6
$ diskutil apfs addVolume disk7 apfs name -nomount  
Will export new APFS Volume "name" from APFS Container Reference disk7
Started APFS operation on disk7
Preparing to add APFS Volume to APFS Container disk7
Creating APFS Volume
Created new APFS Volume disk7s1
Disk from APFS operation: disk7s1
Finished APFS operation on disk7
$ hdiutil attach -mountpoint /your/target/path /dev/disk7s1 
/dev/disk7s1        	41504F50-0000-11AA-AA11-00306B4 /your/target/path

@eirnym

eirnym commented Jul 15, 2026

Copy link
Copy Markdown

mount_tmpfs also works, but it require root privileges

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment