如果我使用的是非英特尔/三星产品,是否需要启用 TRIM?

如果我使用的是非英特尔/三星产品,是否需要启用 TRIM?

我在 webupd8 的一篇文章中看到,在 Ubuntu 14.04 中引入的 TRIM 支持默认仅适用于英特尔和三星 SSD。其他呢?我使用的是戴尔 XPS 13 Dev Edition 笔记本电脑,SSD 来自不同的制造商,那么 TRIM 是否也默认工作,还是我必须手动创建 cron 作业文件?

答案1

一切都已安装完毕。

激活 1 次修剪的命令:

sudo fstrim -v /

需要等待一段时间才会显示结果。例如:

sudo fstrim -v /
[sudo] password for rinzwind: 
/: 93184647168 bytes were trimmed

对于“支持的设备”,它默认设置为每周运行一次:

$ locate fstrim
/etc/cron.weekly/fstrim
/sbin/fstrim

如果你检查 cron 作业,就会发现一切都解释得通:

$ more /etc/cron.weekly/fstrim 
#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e

# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g.  https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all

如果手动方法有效,您可以--no-model-check在末尾添加命令(exec fstrim-all)以激活它。


关联文件中的内容很有趣。它还有一个方法来检查你的光盘有问题。许多较便宜的 SSD 存在故障并且可能会破坏数据。


最重要的是:这是兼容硬件的列表(PDF 下载)包括 SSD。


还有另一种方法,您可以将discard其添加到 fstab 中以进行永久修剪。基准(德语)青睐 fstrim 而不是丢弃

答案2

您还可以强制 TRIM(在 ext4/xfs 等文件系统上),将 discard 添加到 /etc/fstab 条目的选项中。例如我的是:

/dev/sda3   /  ext4    errors=remount-ro,discard  0       1

如果您使用 cryptsetup (用于 dmcrypt),您还可以在 /etc/crypttab 中添加 discard 以强制 TRIM。例如:

sda3_crypt UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none luks,discard

相关内容