Hirobee’s Trail [Memorandum]

SSD対策のMac OS X設定

by Hirobee on 15:38 Wednesday, April 29th, 2009, under Mac OS X, Setting

SSDに使われているNAND フラッシュメモリには書き換え回数での寿命があって、OCZ Vertexにも使われているMLCタイプの回数は約1万回(SLCタイプは10万回)といわれています。
当然ながら、同じ場所への書き換えが集中しないようにハードウェアレベルで対策(ウェアレベリング)はされていますが、無駄な書き込みを押さえるために、OSに設定を加えておくことにします。

Mac OS X では、ファイルにアクセスすると、その時間を記録するようになっているので、それをやめて書き込みを減らそうというものです。

やり方はいろいろありますが、現在はOSインストール後のほぼ素に近い状態なので、ターミナルからviでやることにしました。

  1. /etc に rc.local というファイルを作成
    アプリケーション → ユーティリティ → ターミナルを起動
    $ sudo cat /etc/rc.local
    $ sudo vi /etc/rc.local
  2. i を入力して編集モードに入り、以下を入力
    #!/bin/sh

    mount -u -o noatime /
  3. ESCで編集モードを抜けて、:wqと入力
  4. 念のためファイルがきちんとできているか確認
    $ type /etc/rc.local
  5. 確認できたら、再起動

これでファイルの更新時刻を記録しなくなりますが、再起動した後で、ターミナルからきちんと設定されているか確認しておきます。

$ mount
/dev/disk0s2 on / (hfs, local, journaled, noatime)

rc.localに間違いがなければ、このように表示されます。

:

3 Comments for this entry

  • quitter

    こんにちはquitterといいます。

    先日iBook G4を買いMacデビューとなりました

    もうじきSSDも届くのでいろいろ対策しようとしてますがわからいないので教えてください。

    1.の青文字を各行入力しenterをおすとパスワードが求められますが流れ的にいいのですか?
    現在はいじり中で面倒なのでパスワードは設定しておらずそのままenterおしてます。

    2.のiを入力して...ではiを入力したあとは?
    enter?ですと
    「-bash: i: command not found」となり編集モードにはいっていないようです?

    4.をやっても/etc/rc.localはできてないようです?

    現在はEsperance DVにてRamDisk 1にSafariのキャッシュをおくところまではできてます。

    よろしくお願いします。

  • Hirobee

    quitterさん

    まず、作業をしているユーザーは管理者ですか?
    /etc にファイルを作成したり、そのファイルを編集したりするにはユーザーに管理者権限とパスワードは必須です。
    1.でsudoとしているのはそのためで、パスワードを入力しないと
    $ sudo cat /etc/rc.local
    でファイルが作成されないので、2行目の
    $ sudo vi /etc/rc.local
    でファイル自体がない、かつパスワードの入力がないためvi自体が起動されないことになります。

    設定 → アカウントで、管理者ユーザーにパスワードを設定してからもう一度やってみてください。

  • quitter

    Hirobeeさんこんんちはquitterです。

    レスのとおりやってみましたが、うまくできたか?です。
    4.のところでは
    「-bash: type: /etc/rc.local: not found」
    となってますが
    $ mountではdisk0s2以外の文字列は同じものが表示されます。
    いかがなものでしょうか?

Leave a Reply


Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!