Skip to content

Instantly share code, notes, and snippets.

@jnschulze
Last active February 5, 2024 13:48
Show Gist options
  • Star 66 You must be signed in to star a gist
  • Fork 26 You must be signed in to fork a gist
  • Save jnschulze/7194165 to your computer and use it in GitHub Desktop.
Save jnschulze/7194165 to your computer and use it in GitHub Desktop.
Move Chrome, Safari and iTunes Cache to Ramdisk.
#!/bin/bash
# Size at the end is * 2048 where 2048 = 1 MB, so 1572864 = 768 MB
#DISK=`/usr/bin/hdiutil attach -nobrowse -nomount ram://1572864`
DISK=`/usr/bin/hdiutil attach -nobrowse -nomount ram://2097152`
/usr/sbin/diskutil erasevolume HFS+ "RamDiskCache" $DISK
CACHEDIR="/Volumes/RamDiskCache/$USER"
# Chrome Cache
/bin/rm -rvf ~/Library/Caches/Google/Chrome/*
/bin/mkdir -pv $CACHEDIR/Google/Chrome/Default
/bin/ln -v -s $CACHEDIR/Google/Chrome/Default ~/Library/Caches/Google/Chrome/Default
# Chrome Canary Cache
/bin/rm -rvf ~/Library/Caches/Google/Chrome\ Canary/*
/bin/mkdir -pv $CACHEDIR/Google/Chrome\ Canary/Default
/bin/ln -v -s $CACHEDIR/Google/Chrome\ Canary/Default ~/Library/Caches/Google/Chrome\ Canary/Default
# Safari Cache
/bin/rm -rvf ~/Library/Caches/com.apple.Safari
/bin/mkdir -pv $CACHEDIR/Apple/Safari
/bin/ln -v -s $CACHEDIR/Apple/Safari ~/Library/Caches/com.apple.Safari
# iTunes Cache
/bin/rm -rvf ~/Library/Caches/com.apple.iTunes
/bin/mkdir -pv $CACHEDIR/Apple/iTunes
/bin/ln -v -s $CACHEDIR/Apple/iTunes ~/Library/Caches/com.apple.iTunes
# Spotify Cache
/bin/rm -rvf ~/Library/Caches/com.spotify.client
/bin/mkdir -pv $CACHEDIR/Spotify
/bin/ln -v -s $CACHEDIR/Spotify ~/Library/Caches/com.spotify.client
/usr/bin/chflags hidden /Volumes/RamDiskCache #Hide RamDisk directory
@amorphid
Copy link

amorphid commented Mar 11, 2017

@nischu7 if you don't mind answering, the /dev/rdisk2 size of 1024 MB is ~50% the size of the ram://2097152. That seems to be consistent for various different file systems. Is there a short explanation the size difference, or can you recommend what I might read up on to better understand what's going on?

$ DISK=`/usr/bin/hdiutil attach -nobrowse -nomount ram://2097152`
$ /usr/sbin/diskutil erasevolume HFS+ "RamDiskCache" $DISK
Started erase on disk2
Unmounting disk
Erasing
Initialized /dev/rdisk2 as a 1024 MB case-insensitive HFS Plus volume
Mounting disk
Finished erase on disk2 RamDiskCache

@amorphid
Copy link

Found the answer using diskutil info $DISK

....
Total Size:               1.1 GB (1073741824 Bytes) (exactly 2097152 512-Byte-Units)
....

@blk-swn
Copy link

blk-swn commented Jun 6, 2017

Hi I'm wondering if I put this script in my ~/Library/StartupItems directory, will it run at startup?

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