2 Steps to a Mac Ramdisk to Speed Up Applications

RAM Disk

No IT in context today, just something helpful that won’t fit in 140 characters.  We have a non-SSD MacBook Pro at home in the kitchen that gets a lot of use by the entire family.  Lately, Internet browsing has been a little slow and not because of Internet speeds.  I figured I would place the browser cache on a ramdisk.  Once I figured out how to do that, I figured I would place all OS caches on a ramdisk.  Here is what I did:

1) Write a script that creates a 1 GB ramdisk and links the OS and user cache directories to the ramdisk

  • Use your favorite text editor (I used vi) to create a shell script named create_ramdisk.sh.  Here are the lines to paste into your shell script:
#Create a 1 GB ramdisk (Can also use RAMDiskCreator.app from the App Store)

diskutil erasevolume HFS+ 'RAM_Disk' `hdiutil attach -nomount ram://2097152`

# Create new cache directories on your ramdisk

mkdir /Volumes/RAM_Disk/OS_Caches;
mkdir /Volumes/RAM_Disk/User_Caches;

# Remove the old cache directories on your hard disk.  NB:Change “dennis” to your username.  Was using ~/Library until I added the sudo.

sudo rm -Rf /Users/dennis/Library/Caches;
sudo rm -Rf /Library/Caches;

# Create pointers (links) to from the MacOS hard disk cache locations to the ramdisk cache locations. 

sudo ln -s /Volumes/RAM_Disk/OS_Caches /Library/Caches;
ln -s /Volumes/RAM_Disk/User_Caches ~/Library/Caches;

2) Automate the script on logon

I used AppleScript rather than automator as AppleScript was simple to implement.  Also, as I used sudo and did not override the password prompt, I wanted to interact with the script.
  • Open AppleScript Editor and create a new document in a location you can remember
  • Paste these lines into the editor using the location and name of the shell script you created.
tell application "Terminal"
do script "$HOME/Documents/Personal/create_ramdisk.sh"
end tell
  • The window will look like this:
Screen Shot 2014 05 27 at 9 08 08 AM

  • Save as an application
Screen Shot 2014 05 27 at 9 11 31 AM

  • Open Settings -> Users and click on Login items and then +
Screen Shot 2014 05 27 at 9 15 56 AM

  • Select your AppleScript application and click Add
Screen Shot 2014 05 27 at 9 17 07 AM

  • Close Settings, reboot and test.  You will know your ramdisk is working if you see browser cache directories growing and changing as you open and use your browser.

Screen Shot 2014 05 27 at 9 20 56 AM

  • This is my first go at this automation, so if you have improvements, feel free to note them in the comments or contact me directly.