MacBook Air買ってからやったこと Ramdisk編

SSDの書き込み回数減らしたいし、やっぱramdiskが欲しい。
メモリ4Gで購入したので、空メモリは結構余裕がある。
というわけで512MBのRamdiskを作ってみた。


1. ramdisk領域の作成 容量指定はKB単位

hdid -nomount ram://524288


2. HFS+でフォーマット ボリューム名とデバイス名を指定

diskutil eraseDisk HFS+ ramdisk disk1


3. ディレクトリの作成 tmpとかFirefoxのキャッシュ用

mkdir /Volumes/ramdisk/tmp
chmod 777 /Volumes/ramdisk/tmp
mkdir /Volumes/ramdisk/firefox_cache
chmod 777 /Volumes/ramdisk/firefox_cache

4. 自動作成されるようにシェルスクリプトにまとめて、launchctlで登録

# RamDisk
mtpoint="$(hdid -nomount ram://524288)"
diskutil eraseDisk HFS+ ramdisk $mtpoint
mkdir /Volumes/ramdisk/tmp
chmod 777 /Volumes/ramdisk/tmp
mkdir /Volumes/ramdisk/firefox_cache
chmod 777 /Volumes/ramdisk/firefox_cache

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

ついでに最終アクセス時刻を記録しないオプションも設定。
/Library/Ramdisk/ramdisk.shとして保存。

<?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>

/Library/LaunchAgents/com.ramdisk.plistとして保存。


最後にlaunchctlで登録する。

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

これで起動の度に作成されるようになった。
とりあえずFirefoxのCacheに使う。


参考URL:
http://ecpplus.net/weblog/mac%E3%81%AEssd%E5%AF%BE%E7%AD%96%E3%81%A7%E3%80%81tmp%E3%82%92ramdisk%E3%81%AB%E3%81%99%E3%82%8B/