`fstrim` 服务报告奇怪的值

`fstrim` 服务报告奇怪的值

我的系统上有两个 SSD 磁盘和三个文件系统:

$ lsblk | grep -v '^loop'
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465.8G  0 disk /home
sdb      8:16   0 238.5G  0 disk 
├─sdb1   8:17   0   512M  0 part /boot/efi
└─sdb2   8:18   0   238G  0 part /var/snap/firefox/common/host-hunspell
                                 /

它们的使用方式如下:

$ df -BM / /home /boot/efi
Filesystem     1M-blocks    Used Available Use% Mounted on
/dev/sdb2        238777M  34465M   192112M  16% /
/dev/sda         468357M 203036M   241459M  46% /home
/dev/sdb1           511M      7M      505M   2% /boot/efi

fstrim服务每周运行一次,但报告一些“不自然”的值:

$ journalctl | grep   "fstrim.*/home" 
Oct 23 12:42:02 x fstrim[23187]: /home: 249.6 GiB (267956338688 bytes) trimmed on /dev/sda
Oct 30 19:19:38 x fstrim[22436]: /home: 248.9 GiB (267243692032 bytes) trimmed on /dev/sda
Nov 06 13:35:55 x fstrim[31818]: /home: 243.7 GiB (261722529792 bytes) trimmed on /dev/sda
Nov 13 11:53:32 x fstrim[11380]: /home: 242.9 GiB (260790439936 bytes) trimmed on /dev/sda
Nov 20 11:36:39 x fstrim[8200]: /home: 257.8 GiB (276775620608 bytes) trimmed on /dev/sda

$ journalctl | grep   "fstrim.*/:" 
Oct 23 12:42:02 x fstrim[23187]: /: 197.1 GiB (211671953408 bytes) trimmed on /dev/sdb2
Oct 30 19:19:38 x fstrim[22436]: /: 197.5 GiB (212089090048 bytes) trimmed on /dev/sdb2
Nov 06 13:35:55 x fstrim[31818]: /: 197.5 GiB (212091011072 bytes) trimmed on /dev/sdb2
Nov 13 11:53:32 x fstrim[11380]: /: 198.9 GiB (213588897792 bytes) trimmed on /dev/sdb2
Nov 20 11:36:39 x fstrim[8200]: /: 199.1 GiB (213827371008 bytes) trimmed on /dev/sdb2

$ journalctl | grep   "fstrim.*/efi:" 
Oct 23 12:42:02 x fstrim[23187]: /boot/efi: 504.9 MiB (529436672 bytes) trimmed on /dev/sdb1
Oct 30 19:19:38 x fstrim[22436]: /boot/efi: 504.9 MiB (529436672 bytes) trimmed on /dev/sdb1
Nov 06 13:35:55 x fstrim[31818]: /boot/efi: 504.9 MiB (529436672 bytes) trimmed on /dev/sdb1
Nov 13 11:53:32 x fstrim[11380]: /boot/efi: 504.9 MiB (529424384 bytes) trimmed on /dev/sdb1
Nov 20 11:36:39 x fstrim[8200]: /boot/efi: 504.9 MiB (529424384 bytes) trimmed on /dev/sdb1

我每周的使用情况并不统一。例如,我在 11 月 8 日进行了 23.04 → 23.10 升级。考虑到我的使用情况和磁盘利用率,报告的数字fstrim没有意义。

有人能帮我解释一下这些数字吗?有人能在他们的系统上进行类似的检查,看看在那些系统上是否也是这种情况吗?我以为报告的数字应该是修剪操作后恢复的块数或字节数,但它们看起来像是操作系统已知的空闲块数或字节数。我如何才能看到实际恢复的块数?


请注意这个问题可能与...有联系如何知道我的 NVMe SSD 是否需要 TRIM

答案1

通过与@sotirov 对上述评论的讨论,我可以得出以下结论:

  1. fstrim发送全部空块(操作系统已知)发送到 SSD 进行恢复。在操作系统启动后第一次调用时就是这样。后续运行fstrim只会发送已删除的块。但是,此信息在操作系统关闭期间会丢失,因此在重新启动后将fstrim发送全部已删除的块再次到 SSD。

  2. 无法知道 SSD 恢复的实际块数,因为 SSD 不会将此信息传回操作系统。

请评论或者纠正我的答案。

相关内容