Ubuntu 是否支持与 SSD 一起使用的 TRIM 命令?

Ubuntu 是否支持与 SSD 一起使用的 TRIM 命令?

SSD 驱动器在装满后需要“清除/重置”以保持性能。这可以通过新 SSD 驱动器的 TRIM 命令完成。Ubuntu 是否支持 TRIM 命令(通过 hdparm 等)来清除/重置这些驱动器?

答案1

看起来 10.10 和更新版本支持 TRIM 功能:

此外,TRIM 操作是自动进行的 - 如果磁盘报告支持 TRIM,则空块会在不再需要时自动释放(例如,您删除文件)。您无需手动发出 hdparm 命令即可实现此功能。

答案2

据我所知,Jeremy 的回答并不完全准确。我已经在 Lucid 上运行最新的稳定内核一段时间了,并且一直在密切关注 TRIM 的状态,因为我的主磁盘是 OCZ Agility。

以下是我认为我所知道的:

  • 从 2.6.33 版开始,内核支持 TRIM(Maverick 为 2.6.35)。

  • EXT4 支持 TRIM,但前提是日记已关闭。

  • TRIM 在内核中的工作方式非常基础,而且速度非常慢。符合规范的磁盘可以接受多个范围,但内核目前一次只能处理一个范围。这来自我大约一个月前读到的一篇文章。我希望我有来源,因为这可能不是真的,或者可能不再适用。

日志记录对我来说是致命的。数据损坏是一件很烦人的事情。

但是,较新版本的 hdparm(v9.25 - Maverick 为 v9.27)附带一个名为的脚本,wiper.sh该脚本可以快速分析驱动器,然后修剪所有空白空间。与其失去功能,我发现wiper.sh每周(或每天/每月/无论什么时间)运行一次 cron 更容易。除非您不断破坏系统驱动器,否则 SSD 性能下降不会发生得那么快。你不会需要实时TRIMming。

还有一个名为磁盘TRIM似乎不在存储库中。经验较少的用户可能会发现这比设置 cron 作业更容易使用。

有适用于 hdparm 和 disktrim 的 PPA,并且都可以在 Lucid(及更早的版本)上运行,而不需要 2.6.33+ 内核。

答案3

Linux 从内核 2.6.33 开始支持使用 ETX4 文件系统的自动 TRIM。

第一个具有自动 TRIM 支持的 Ubuntu 版本是 10.10 (Maveric),但它必须在 fstab 中激活(如所述这里)。

答案4

我正在运行 11.04,看起来 TRIM 并没有按照开箱即用的方式工作。

我测试过使用此处的说明创建一个文件,删除它,然后查看扇区是否被清零/删除

我尝试启用 TRIM按照此处的说明,但没有骰子

我运行 wiper.sh,我得到了

/sbin/wiper.sh --verbose --commit /dev/sda1
wiper.sh:Linux SATA SSD TRIM 实用程序,版本 3.3,由 Mark Lord 编写。
rootdev=/dev/sda1
fsmode2: fsmode=读写
/:fstype=ext4
可用大小 = 13785252 KB,保留 = 137852 KB
准备对 /dev/sda1 上的可用空间进行在线 TRIM(ext4 在 / 上以读写方式安装)。

此操作可能会悄悄破坏您的数据。您确定吗 (y/N)?y
正在创建临时文件 (13647400 KB)...
正在同步磁盘..
开始 TRIM 操作..
get_trimlist=/sbin/hdparm --fibmap WIPER_TMPFILE.9689

/dev/sda:
从 462 个范围中修剪 27294800 个扇区
成功
正在删除临时文件..
正在同步磁盘..
完毕。

但是如果我再次运行它,它会显示需要修剪的扇区/范围数量相同,并再次报告成功。我每次都得到完全相同的结果。看起来这些扇区从未被删除/释放过。读取它们仍然显示相同的数据。

好奇是否有其他人也能使用它。

相关内容