fstrim 不起作用

Bor*_*nov 8 ssd trim

我有一台配备 OSZ Agility SSD 的 Thinkpad X60s。我使用ext2。

我读到我应该不时执行修剪命令,但是,此命令在我的机器上不起作用:

boris@boris-ThinkPad-X60s:~$ fstrim /
fstrim: /: FITRIM ioctl failed: Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)

我不使用它会有什么后果?它会影响速度、SSD 寿命等吗?

为什么命令不起作用,有什么可能的解决方案来让它工作?

小智 7

更新: 在看到您使用 ext2 之前,我写了下面的答案。我保留答案以供参考,以防其他人因 LUKS 或 LVM 而遇到类似问题。

但是,对于您的情况,解析器是不同的:ext2 不支持修剪,只有 ext4 或 btrfs 支持。

----- 原答案 -----

确保在所有文件系统抽象层上激活修剪支持。特别是,这里会想到 LVM 和/或 dm-crypt!

  1. lvm 中激活修剪支持:/etc/lvm/lvm.conf

    issue_discards = 1
    
    Run Code Online (Sandbox Code Playgroud)
  2. dm-crypt/luks 中激活修剪支持:/etc/crypttab

    sda1_crypt UUID=<YOUR_DISKS_UUID> none luks,**discard**
    
    Run Code Online (Sandbox Code Playgroud)

    (适应你的 UUID 和分区)

  3. 将更改写入您的 initrd:

    sudo update-initramfs -u
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重启


小智 3

您需要fstrim以 root 身份运行。尝试:

sudo fstrim /
Run Code Online (Sandbox Code Playgroud)