D.

Ramdisk を使う。

MacRamdisk を利用することにした。手順をメモ。

起動時に Ramdisk を生成して初期化するシェルスクリプトを作る。

/Library/Ramdisk/ramdisk.sh を作成する。

# Ramdisk を作る
RAMDISK="$(hdid -nomount ram://1048576)" # 1 ブロック = 512 バイト
diskutil eraseDisk HFS+ ramdisk $RAMDISK
mkdir /Volumes/ramdisk/tmp
chmod 700 /Volumes/ramdisk/tmp
mkdir /Volumes/ramdisk/Caches
chmod 700 /Volumes/ramdisk/Caches

# アクセス日時を記録しない
mount -u -o noatime /

起動時に上記のシェルスクリプトが実行されるように登録する。

/Library/LaunchAgents/com.ramdisk.plist を作成する。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>KeepAlive</key>
    <false/>
    <key>Label</key>
    <string>com.ramdisk</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Library/RamDisk/ramDisk.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>


以下のコマンドを打つとスタートアップに登録される。

sudo launchctl load -w /Library/LaunchAgents/com.ramdisk.plist


あとは以下のように ~/Library/Caches あたりを Ramdisk に乗せると良いだろう。

rm -rf ~/Library/Caches
ln -s /Volumes/ramdisk/Caches ~/Library/Caches

追記 (2012/1/16)

SSDRamdisk を利用する場合は、以下のコマンドでハイバーネートを防止する。

sudo pmset hibernatemode 0
sudo rm /var/vm/sleepimage