我在 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