我尝试使用命令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
。