Top/断片/SSDとLinux

SSDとLinux

SSD の選択について

  1. 大量のデータを読み書きする場合
    1セルの電子量の状態を1ビットでなく3ビット記録できる TLC(Triple Level Cell) が推奨される。

カーネルなどについて

  1. 3.9 以上
    SSD キャッシングが使える。ただし、これは、SSDをハードディスクのキャッシュとして使うものであるので、
    SSD の寿命を伸ばすことは関係なさそうだ。

  2. 最新のファームウエアを使うこと
    sudo smartctl -a /dev/sda
    などで確かめる。

swapについて

  1. swap 領域をSSDに作らない。
    メモリを多めにする、ということ。決まった仕事しかしないだろうので、あらかじめ見当をつけるべき。

  2. ハイバネーションなどのために swap を作るときは、できるだけ swap を起こさないようにする。
    /etc/sysctl.conf に次のように書き加える。
    vm.swappiness = 0
    メモリがいっぱいになるまでスワップしなくなる。(cf. Wikipedia)

ファイルシステムについて

  1. 永続的な記憶領域に btrfs を使う。
    最も先進的である btrfs は、SSD に対する配慮があるらしい。詳しくは、例えば ArchLinuxのBtrfsの解説を見れば良い。

  2. マウント時にアクセス記録(atime)を記録しないようにする。
    オプションに noatime を追加する。ただし、ls -a などで最終アクセス記録を参照できなくなる(多分。)。
    例:
    /dev/sda1 / ext4 noatime,errors=remount-ro 0 0

  3. SSDの空き領域を開放する TRIM を自動で実行する。
    オプションに discard を加える。btrfs, ext4 で有効。TRIMについては2011年の記事がこちらにある。
    例:
    /dev/sda1 / ext4 noatime,discard,errors=remount-ro 0 0

    ただし、ファイルシステムがいっぱいに近くなったときに有効かも、という話であって、TRIM は不要だという議論もある。
    また、あらかじめ領域を余分に 15% ほどとっている SSD があるようだ。そういう場合には TRIM は不要であるという議論がある。。

  4. 一時的な記憶領域に tmpfs を使う。
    RAM の一部をファイルシステムにするのが tmpfs である。指定したサイズは最大値であり、空いている部分は普通に
    メインメモリとして利用される。設定方法は二つある。
    1. /etc/fstab に設定する方法
      この方法は、次に書く設定方法よりも優先的に設定される。例えば、/etc/fstab に次のように書き加えると /tmp が tmpfs になる。
      例:
      tmpfs   /tmp    tmpfs   defaults,size=512m      0       0

    2. /etc/default/tmpfs (squeeze までは /etc/default/rcS ) に設定する方法
      wheezy になって変わったところなので、それなりのドキュメントを参照すること。

キャッシュの書き込み

リンク集


トップ   新規 検索 最終更新   ヘルプ   最終更新のRSS