自动修剪和手动修剪的区别在于,自动修剪(使用discard挂载选项)在删除任何文件后,在同步时修剪释放的块,而手动修剪(使用fstrim)一次性修剪所有的空闲空间。
测试
您可以测试自动修剪是否正常工作的一种方法是创建并删除一个大文件:
user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync
如果自动丢弃功能正常工作,再次手动修剪不会修剪很多块,因为它们应该已经被修剪过了。在您的文件系统上运行sudo discard -v,查看有多少块被修剪掉了。
建议
关于哪种方式更推荐:根据我的经验,自动修剪会降低性能。然而,这可能与硬件有关;在您的驱动器上可能没有问题。
如果您正在使用手动修剪,关于修剪频率,要考虑您在典型工作负载中写入数据的速率与SSD上的可用空间量之间的比较。您希望足够频繁地进行修剪,以防止您的磁盘被删除的数据填满。如果您的SSD大部分是空闲空间或者您的磁盘工作负载较轻,偶尔进行修剪(每周甚至更长时间一次)应该足够。如果您的SSD大部分是已满或者您经常编辑视频文件等情况,您将需要更频繁地进行修剪。