====== Enable SSD Trim automatically ====== ===== Continues TRIM ===== The real reason Ubuntu doesn’t TRIM SSDs by default is because the Linux kernel’s implementation of TRIM is slow and results in poor performance in normal use. Windows sends a TRIM command each time it deletes a file, telling the drive to immediately delete the bits of the file. Linux supports this when file systems are mounted with the “discard” option. However, Debian, Ubuntu — and other distributions — don’t do this by default for performance reasons. Continuous TRIM is not the most preferred way to issue TRIM commands in Linux. Continuous TRIM is enabled by the discard option for a mount in /etc/fstab: enables continuous TRIM in device operations: /dev/sda1 / ext4 defaults,discard 0 1 ===== Periodic trim ===== Copy the available templates to the systemctl directory and enable and start them. # cp /usr/lib/systemd/system/fstrim.{service,timer} /etc/systemd/system # systemctl enable fstrim.timer # systemctl start fstrim.timer In case these templates are not available, see the contents below: # cat fstrim.service [Unit] Description=Discard unused blocks on filesystems from /etc/fstab Documentation=man:fstrim(8) [Service] Type=oneshot ExecStart=/sbin/fstrim -Av # cat fstrim.timer [Unit] Description=Discard unused blocks once a week Documentation=man:fstrim [Timer] OnCalendar=weekly AccuracySec=1h Persistent=true [Install] WantedBy=timers.target Check the status of the .timer with: # systemctl list-timers The output is quite useful: EXT LEFT LAST PASSED UNIT ACTIVATES Sun 2017-12-10 00:11:06 CET 6h left Sat 2017-12-09 14:48:34 CET 2h 56min ago apt-daily.timer apt-daily.service Sun 2017-12-10 06:11:27 CET 12h left Sat 2017-12-09 06:47:46 CET 10h ago apt-daily-upgrade.timer apt-daily-upgrade.servi Sun 2017-12-10 16:28:34 CET 22h left Sat 2017-12-09 16:28:34 CET 1h 16min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean. Mon 2017-12-11 00:00:00 CET 1 day 6h left n/a n/a fstrim.timer fstrim.service