読者です 読者をやめる 読者になる 読者になる

この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

ゼロ円でMacのメモリを定期的に自動解放する

Mac


(※ この設定が意味を持つのはMountain Lionまでです)


OSXはディスクキャッシュを積極的に行いすぎる傾向にあるようでして、
物理メモリが不足した時に、ディスクキャッシュ(→現在非使用中のメモリ)解放するよりも、
スワップ領域を優先してしまう模様です。


で、メモリ領域を『定期的に自動開放』してくれるアプリを探したのですが、
めぼしいアプリがない。(有償のものしか無い)

AutoPurge
http://itunes.apple.com/jp/app/autopurge/id480739949?mt=12


。。。ふざけんなゴルァー!!
ということで、自前でサクっと設定。
手順は次の通りで、わかりやすい解説を付けてみました。

Xcodeをインストールする

AppStoreを起動し、"Xcode"を検索して、インストールして下さい。

http://itunes.apple.com/jp/app/xcode/id497799835?mt=12

ターミナルを起動する

Xcodeをインストールすると、purgeという機能を使えるようになります。
これがキモ。ターミナルから実行してみましょう。


ターミナルを起動し、"purge"と入力してエンターを押して、
何もエラーが出なければpurgeのインストールは成功しています。

crontabを起動する

さて、ココからがちょっと難しい。(知らない方にとっては)
まず、ターミナルで

crontab -e

と入力してエンターを押します。


すると次の様な画面になると思います。

crontabを編集する

キーボードのiを押します。
そして、次の文字をクリップボードからそのまま貼り付けて下さい。

*/15 * * * * /usr/bin/purge

貼りつけたらエンターを押します。
すると次のようになっているはず。


ここで、次の順番でキーを押します。

  • エスケープ(esc)
  • コロン(:)
  • w
  • q


すると次のようになっているはず。

左下に

:wq

と表示されていればOKです。


そしてエンターを押せば、、、作業完了!ターミナルは閉じて構いません。
これで、定期的に自動でメモリが解放されるようになります。


もし何かミスをした場合、エスケープキーを1,2回押してから
uを何度か押すと最初の状態に戻るので、何度でもやり直しOK。

ちょっと解説

先ほど指定した文字列、

*/15 * * * * /usr/bin/purge

は、『15分おきにpurgeを実行しろ』という意味になります。


Unix系OSにはcronという、特定の処理を定期実行するサービスがデフォルトでインストールされているわけですが、
それに対して指示を与えたのが上記の手順です。crontabというのは、cronへの指示一覧だと思ってもらえればOK。


もし『15分おきじゃなくて5分おきにpurgeしたい』ということであれば、
先ほどの文字列の代わりに

*/5 * * * * /usr/bin/purge

を貼りつければOKです。

もう少し詳しい記法についてはこちらを参照。
http://www.server-memo.net/tips/crontab.html