为什么 fstrim 看起来不够彻底?

为什么 fstrim 看起来不够彻底?

我尝试使用命令fstrim手动 TRIM 我的 SSD 驱动器,即丢弃未使用的块。

我知道这是由每周的 cronjob 自动完成的,但我想自己尝试一次。

但是,如果连续多次以详细模式运行该命令,那么不仅第一次,而且后续的很多次调用仍然会丢弃相当多的块。

否则系统处于空闲状态,这些调用之间不应该有太多(如果有的话)磁盘活动。

这是一个例子,我每秒调用一次命令:

$ sudo fstrim -va
/: 13,3 GiB (14308057088 bytes) trimmed
$ sudo fstrim -va
/: 507,2 MiB (531845120 bytes) trimmed
$ sudo fstrim -va
/: 113 MiB (118448128 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 190,6 MiB (199856128 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed
$ sudo fstrim -va
/: 68,2 MiB (71479296 bytes) trimmed
$ sudo fstrim -va
/: 0 B (0 bytes) trimmed

fstrim命令不够彻底还是为什么后续调用仍然会丢弃块?

答案1

这可能是因为脏数据仍在刷新回设备,或者因为后台进程(如日志守护程序)等正在写入设备。一个好的实验是先强制将脏数据同步回设备,然后再尝试使用 进行修剪sync

相关内容