OSX ブラウザのキャッシュをRamDiskにあてる

  • 6
    Like
  • 0
    Comment
More than 1 year has passed since last update.

※実行は自己責任にてお願いします

ブラウザのキャッシュをRamDiskにあてることで、
SSDへのアクセスが減り、
以下のことが期待できます。

  • SSDの寿命が伸びる
  • 動作環境への負荷が減る

とはいえ、どちらも体感は変わらないです。

システムのメモリをディスクとして割り当てる為、
メモリに余裕のある環境が対象となります。

RamDisk を作成する

1.TmpDiskをインストールします
http://inkscribbles.com/apps/tmpdisk/

2.インストールしたアプリを実行し、RamDiskを作成します
AutoCreateの項目にチェックを入れます(重要)
AdvancedModeにチェックを入れると、DiskSizeが自由に設定できるようになります
・ここではDiskNameを RamDisk としてみました
・体感ですが、512MBもあればブラウジングだけなら不自由しないです

スクリーンショット 2016-06-11 17.54.17.png

このようにマウントされます (/Volumes/RamDisk)
スクリーンショット 2016-06-11 18.13.51.png

3.メニューバーのアイコンから、起動時に実行されるように設定します
Always Start on Loginにチェックを入れます

スクリーンショット 2016-06-11 18.00.01.png
スクリーンショット 2016-06-11 17.35.31.png

これで、RamDiskの準備ができました。

ブラウザのキャッシュフォルダを、RamDisk内にあてる

ここでは、ChromeとSafariを対象としてみます。

現在、以下のようにあるそれぞれのキャッシュフォルダを、
RamDisk内のフォルダへ割り当ててみます。

ブラウザ デフォルトのキャッシュフォルダ 割り当てるキャッシュフォルダ
Chrome ~/Library/Caches/Google/Chrome/Default/Cache/ /Volumes/RamDisk/Caches/Chrome
Safari ~/Library/Caches/com.apple.Safari /Volumes/RamDisk/Caches/Safari

※ブラウザのキャッシュフォルダの場所は、バージョンによって変わる可能性があります

色々やり方があるかもしれませんが、
ここでは下記のシェルを使ってシンボリックリンクを作成します。

TmpDisk-Setup.sh
DISK_NAME=RamDisk

# TmpDisk起動完了までの待機
while [ ! -e /Volumes/${DISK_NAME} ]
do
  sleep 1
done

function symbolic_link(){
  rm -rf "$1"
  rm -rf "$2"
  mkdir -p "$2"
  ln -s "$2" "$1"
}


# Chrome_Cache
SRC=${HOME}/Library/Caches/Google/Chrome/Default/Cache
DST=/Volumes/${DISK_NAME}/Caches/Chrome
symbolic_link "${SRC}" "${DST}"

# Safari_Cache
SRC=${HOME}/Library/Caches/com.apple.Safari
DST=/Volumes/${DISK_NAME}/Caches/Safari
symbolic_link "${SRC}" "${DST}"

シェル実行後、Chromeを立ち上げて
このようになっていれば成功です。
スクリーンショット 2016-06-11 19.08.55.png

Safariも同様です。
スクリーンショット 2016-06-11 19.17.38.png

再起動後に備えて、ログイン項目に登録

再起動後には、TmpDiskによってRamDiskが再作成されても、
シンボリックリンクが解除されてしまっています。

その為、まずはAutomatorを使いログイン直後にシェルを実行するアプリを作成します。

1.Automatorを起動し、アプリケーションを選択します
スクリーンショット 2016-06-11 19.20.06.png

2.シェルスクリプトを実行 を選択します
スクリーンショット 2016-06-11 19.20.30.png

3.TmpDisk-Setup.shの内容を書き込み、保存します
スクリーンショット 2016-06-11 19.24.30.png

メニューバーから
スクリーンショット 2016-06-11 19.24.46.png

任意の名前で保存
スクリーンショット 2016-06-11 19.25.22.png

ロボット的なアイコンのファイルになっていたら成功
スクリーンショット 2016-06-11 19.29.47.png

System環境設定からログイン項目を登録します

1.System環境設定を開き、ユーザとグループを選択する
スクリーンショット 2016-06-11 19.32.33.png

2.ログイン項目にある + を押して、先ほど出力したアプリを選択します
スクリーンショット 2016-06-11 19.32.51.png

確認

再起動してから Chrome や Safari を起動し、
RamDisk内のキャッシュフォルダが使用されていれば成功です。