/tmpは最初にtmpfsにマウントさせてあるのですが、その他にもtmpfsにマウントさせたほうがいいようなものもあるようです。
リンク先のリストにしたがえば、
- /tmp
- /var/spool tmpfs
- /var/tmp
- /var/log
の四つが挙げられていました。
なので、それにしたがってこれらをtmpfsにマウントします。
さっそく/etc/fstabに下記の項目を追加。
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/spool tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
tmpfs /var/log tmpfs defaults,noatime 0 0
ファイルシステムのマウントオプションは標準的なdefaultsにし、「ファイルシステムの inode アクセス日時を更新しません。パフォーマンスの向上に役立ちます」というnoatimeオプションを指定してあります。
※ただし、リンク先によると/var/tmpはtmpfsにマウントしてはいけない、となっていた。問題が出るようなら解除すること!
頻繁に書き込まれる可能性のあるマウントポイントをメインメモリ上のRAMディスクにマウントし直したので、これでSSDの延命が図れる・・・はず。
ところでこれ以外にも、SSD上にマウントされているポイントに対して行っておくべき作業が指摘されていました。
tmpfsでもそうでしたが、まずはSSD上にマウントされているポイントに対してnoatimeオプションをつけることです。
そもそもatimeというのが「Linux は読み込まれるたびに記録する(ドライブに書き込む) atime をデフォルトで使っています。これは Linux をサーバーに使っている時は理にかなっていますが、デスクトップとして利用する場合はそれほど意味がありません。atime オプションの最悪な点は、ページキャッシュからファイルを読み込む(ドライブではなくメモリから読み込む)ときでさえ書き込みを行ってしまうことです!」ということらしく、これがSSDへのやたらめったらな書き込みでその寿命を縮めてしまうんだとか。
現在我が家で稼働しているSSDはデスクトップ用途なので、ファイルのアクセス日時を細かく管理する必要はありません。
なのでSSDにマウントしている全てのポイントにこのオプションをつけます(うちの場合であれば/、/boot、/home、/swapです)。
そして次にするのがTRIMコマンドの有効化です。
TRIMコマンドは「消去可能領域をSSD側に通知するようにする」仕組みで、こいつを有効にすることでSSDのパフォーマンスや耐久性が向上するんだとか。
TRIMを有効にするには特別な操作は必要なく、これもmoatimeと同様、マウント時のオプション指定で行えます。
具体的にはオプション指定でdiscardオプションを指定します。先に記述したnoatimeの後ろに続けてdiscardを指定すればいいわけですね。
ここまでできたら、マウントオプションを有効にするため、一度マシンを再起動させます。
無事に再起動したら、ひとまずSSDの耐久性・パフォーマンス向上手順は終了です!
One thought to “SSD移行後、tmpfsにマウントさせるもの。”