Create APFS RAM disk on macOS High Sierra

Found a solution:

hdid -nomount ram://<blocksize>
diskutil erasedisk <format> <diskname> <output path of previous hdid command>

where <format> is taken from diskutil listFilesystems from the "Personality" column. Yes, it seems weird to me too that you may have to quote this parameter, e.g. when specifying case-sensitive variants, but oh well...

<blocksize> is 2048 * desired size in megabytes

The last command formats the RAM disk and mounts it to /Volumes/<diskname>

It seems to be the case that when now entering diskutil list that you will see two new disks, the one hdid created, and a synthesized one.

To destroy the RAM disk again, call diskutil eject <output path of previous hdid command>, e.g. diskutil eject /dev/disk2

This will do all the work for you, unmounting the /Volumes/<diskname> path and destroy the two disks, releasing your memory.

Keep in mind that the minimum/maximum values for <blocksize> depend on the chosen <format>. Also, <diskname> cannot always be chosen arbitrarily. Exemplary, FAT32 requires it to consist of upper-case letters!

Cheers!


@Glyph provided the best answer in a comment to the accepted answer, but it deserves its own answer:

diskutil partitionDisk $(hdiutil attach -nomount ram://$((2048*sizeInMB))) 1 GPTFormat APFS 'Ramdisk' '100%'

Change sizeInMB to your desired size.

I've updated Glyph's answer to simplify the volume name a little.