如何检查我的 SSD 是否支持 fstrim?

如何检查我的 SSD 是否支持 fstrim?

我正在使用 Linux 服务器,想知道是否有办法可以确定我的 SSD 是否支持 fstrim。我尝试过hdparm -I /dev/sda,但它不可用,我无法安装它。我还有其他方法可以做到吗?任何帮助表示赞赏。谢谢!

我也很想知道如果我在不支持修剪的设备上运行 fstrim 会发生什么?它会导致无操作吗?

答案1

您也可以尝试 lsblk --discard

DISC-GRAN和下的非零值DISC-MAX表示修剪支持。

$ lsblk --discard
NAME          DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
nvme0n1              0      512B       2T         0
├─nvme0n1p1          0      512B       2T         0
├─nvme0n1p2          0      512B       2T         0
├─nvme0n1p3          0      512B       2T         0
└─nvme0n1p4          0      512B       2T         0
  └─cryptswap        0        0B       0B         0

运行之前确保您的磁盘是修剪兼容的fstrimfstrim在不提供修剪支持的 SSD 上运行可能会导致数据丢失。作为参考,请参阅拱门维基

答案2

尝试

find /sys/devices -name trim -exec head {} +

... 
==> /sys/devices/pci0000:00/0000:00:11.0/ata3/link3/dev3.0/ata_device/dev3.0/trim <==
unsupported

答案3

过去十年制造的每一款 SSD 都支持修剪/丢弃。如果不支持,该命令应该会失败并且不执行任何操作。我说“应该”是因为如果你真的有一个没有修剪的SSD,那么它的品牌血统很差,以至于磁盘固件质量是一个极其未知的数量。

相关内容