SSDに関する設定
ナビゲーションに移動
検索に移動
環境
ソフトウェア | バージョン |
---|---|
Debian | stretch (2016.3.21時点) |
TRIM
fstrim
がサポートしているファイルシステムについては、定期的なfstrim
実行でTRIMする。
マウントオプションにdiscard
を付けるという手もあるが、おすすめされていない。
たぶん、書き込むごとにTRIMが発行されてレスポンスが悪くなる、とかだと思う。
Debian stretchのutil-linuxには、週次でfstrimするためのsystemdファイルが用意されている。 以下の手順で有効化する。
sudo cp /usr/share/doc/util-linux/examples/fstrim.{service,timer} /etc/systemd/system sudo systemctl enable fstrim.timer
fstrim.service
にfstrim
のコマンドラインが書かれており、オプションをいじれる。
-v
を付けると、動いたときの詳細がログに残る。
ExecStart=/sbin/fstrim -av
vfatなパーティションやswapはfstrim
が効かないので、discard
を使う。
UUID=XXXX-XXXX /boot/efi vfat discard,umask=0077 0 1 UUID=XXXXXXXX-... none swap sw,discard 0 0
I/Oスケジューラ
SSDのデバイスだけnoop
にする。
どのブロックにアクセスしてもシーク時間一定なので、noop
でOK。
udevのルールを作る。(例えば/etc/udev/rules.d/60-ssd-scheduler.rules
といったファイルを作る)
# set deadline scheduler for non-rotating disks ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"
/sys/block/sdX/queue/rotational
が0
だとSSDなので、queue/scheduler
をnoop
にする。