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