SSDドライブではATA_TRIM コマンドを使うことでパフォーマンの向上が期待できる。 Linux Kernel Version 3.8からはTRIMに対応しており、次の手順で有効化できる。
TRIMに対応しているかチェックする
lsblk --discard
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO sda 0 512B 2G 0 ├sda1 0 512B 2G 0 ├sda2 0 512B 2G 0 ...
DISC-GRAN, DISC-MAX が0でなければサポートしている。 または次の方法で確認できる。(hdparmをインストールする必要がある)
hdparm -I /dev/hda | grep TRIM
* Data Set Management TRIM supported (limit 8 blocks) * Deterministic read ZEROs after TRIM
fstrim serviceを実行する
util-linuxパッケージに含まれるfstrim.serviceとfstrim.timerのsystemdユニットファイルによって、TimerによるTRIMの有効可が可能。 serviceはfstrim(8)を実行する。1週間に1回Timerにより、fstrimが実行される。
systemctl start fstrim.servece
systemctl enable fstrim.timer
fstrimが実行されているかはjournalctlで確認する。
journalctl -u fstrim
Timerの実行変更するには、Unit ファイルの内容を変更する。
vim /etc/systemd/system/timers.target.wants/fstrim.timer
[Unit] Description=Discard unused blocks once a week Documentation=man:fstrim ConditionVirtualization=!container ConditionPathExists=!/etc/initrd-release [Timer] OnCalendar=weekly AccuracySec=1h Persistent=true RandomizedDelaySec=6000 [Install] WantedBy=timers.target
Appendix. Solid state drive - ArchWiki