我注意到手动调用很少fstrim -av
需要花费大量时间(超过 10 分钟)并向 SSD 报告大量可用空间:
# /usr/bin/time -p fstrim -av
/boot/efi: 503,2 MiB (527671296 Bytes) auf /dev/sda1 getrimmt
/: 377 GiB (404832960512 Bytes) auf /dev/sda2 getrimmt
real 691.65
user 0.00
sys 4.90
这让我认为,无论出于何种原因,操作系统都不会自动报告空闲块,discard
尽管/etc/fstab
. 所以,我希望确定并fstrim -a
定期执行;我对每台计算机启动、每天、每周或每月一次都很好。自动安排此时间表的最佳方式是什么?换句话说,我应该将此调用添加到哪个脚本文件中?
您的系统默认设置为使用 systemd 执行此操作。检查计时器的状态:
默认情况下,它设置为
fstrim -A
每周运行一次,您可以在以下输出中看到:每周执行一次以上是没有用的,预计会在极端使用情况下进行大量文件删除、移动等,可能需要更频繁的修剪。
这实际上也回答了您的问题:您可以使用
systemd
. 您仍然可以使用“旧”方法 usingcrontab
,默认情况下在 Ubuntu 上仍然可用。如果您知道自己在做什么,则可以编辑服务。