为什么 fstrim 似乎不彻底?

Byt*_*der 7 ssd trim

我尝试使用命令fstrim手动修剪我的 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
Run Code Online (Sandbox Code Playgroud)

fstrim命令不彻底或为什么随后调用还是丢弃块?

Col*_*ing 2

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