Когда я установил свой SSD, я просто установил его discard
и не потел. Однако сегодня я читал о плюсах и минусах использования fstrim
взамен и решил запустить программу, чтобы получить представление о том, сколько на самом деле это займет времени (все еще с моими разделами, на которых установлен discard
). Команда заняла несколько минут на моем корневом и домашнем разделах. Для моего домашнего раздела я использовал -v
и получил это:
$ sudo fstrim -v /home
/home: 137494052864 bytes were trimmed
Это больше, чем количество свободного места на разделе!
$ df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 206G 78G 118G 40% /home
Последующие запуски заканчиваются менее чем за секунду, например:
$ sudo fstrim -v /home
/home: 0 bytes were trimmed
Конечно, если у меня всегда был раздел, с которым монтируется раздел discard
, fstrim
не должен ли обрезаться такой большой объем данных? discard
Вариант, безусловно , включен, здесь соответствующие fstab
строки:
UUID=xxxxxxxx... / ext4 noatime,discard,errors=remount-ro 0 1
UUID=xxxxxxxx... /home ext4 noatime,discard,errors=remount-ro 0 2
И mount
выходные строки:
/dev/disk/by-uuid/xxxxxxxx... on / type ext4 (rw,noatime,discard,errors=remount-ro,stripe=128,data=ordered)
/dev/sda2 on /home type ext4 (rw,noatime,discard,errors=remount-ro,stripe=128,data=ordered)
SSD - это TOSHIBA THNSNS256GMCP. Почему это происходит?
fstrim
не знает, что уже было урезано, почему он сообщает 0 байтов во второй раз? Конечно, это должно исходить от диска, но тогда зачем ему сообщать о такой большой обрезке в первый раз? Конечно, диск не зависит от того , использовался ли онdiscard
или нетtrim
.