Ramdisks are a great way to ‘prove’ that it’s not the performance of the underlying disks device that is stopping a process from writing a file quickly (doesn’t prove anything about the filesystem though…) . Ramdisks are transient, and are lost on system reboot, and also consume the memory on your system, so if you make them too large you can cause yourself other problems.
Creating a Ramdisk
The ramdiskadm command is used to create a ramdisk. In this example I am creating a 2G ramdisk called ‘idisk’
# ramdiskadm -a idisk 2G
Then you create the filesystem on the ramdisk (in this case UFS)
# newfs /dev/ramdisk/idisk newfs: construct a new file system /dev/ramdisk/idisk: (y/n)? y Warning: 2688 sector(s) in last cylinder unallocated /dev/ramdisk/idisk: 41942400 sectors in 6827 cylinders of 48 tracks, 128 sectors 20479.7MB in 427 cyl groups (16 c/g, 48.00MB/g, 5824 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920, Initializing cylinder groups: ........ super-block backups for last 10 cylinder groups at: 40997024, 41095456, 41193888, 41292320, 41390752, 41489184, 41587616, 41686048, 41784480, 41882912
Now you have a filesystem, you can mount it onto the correct location
# mkdir /export/home/tuxedo/DATA2 # mount /dev/ramdisk/idisk /export/home/tuxedo/DATA2
Remember to set the ownership/permissions to allow the non-root users to write to the device
# chown tuxedo:oinstall /export/home/tuxedo/DATA2
Maintaining Ramdisks
You can check if a ramdisk exists by just running ramdiskadm without parameters
# ramdiskadm Block Device Size Removable /dev/ramdisk/idisk 21474836480 Yes
You can remove a ramdisk by unmounting the filesystem and using ramdiskadm -d
# umount /export/home/tuxedo/DATA2 # ramdiskadm -d idisk