it-swarm.cn

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

SSD驱动器填满后,需要对其进行“清除/重置”以保持性能。通过对新的SSD驱动器执行TRIM命令来完成此操作。 Ubuntu是否支持TRIM命令(通过hdparm等)来清除/重置这些驱动器?

34
ssanj

似乎在10.10和更高版本中支持TRIM功能:

另外,TRIM的内容会自动发生-如果磁盘报告它支持TRIM,则不再需要空块(例如,删除文件)时,它们会自动释放。您无需手动发出hdparm命令即可运行。

24
Jeremy Kerr

杰里米(Jeremy)的答案并不完全是准确的AFAIK。我已经在Lucid上运行了最新的稳定内核已有一段时间,并且由于我将OCZ Agility作为主磁盘,因此一直非常关注TRIM的状态。

这是我所知道的(我认为):

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

  • EXT4支持TRIM,但仅当 journaling 关闭时才支持。

  • TRIM在内核中的工作方式非常基础,而且速度很慢。遵循规格的磁盘可以接受多个范围,但内核当前一次只能执行一个范围。这来自一个月前我读过的东西。我希望我有消息来源,因为这可能不正确或可能不再适用。

Journalling是杀死我的原因。数据损坏是PITA。

但是,较新版本的hdparm(v9.25-Maverick在v9.27上)带有一个名为wiper.sh的脚本,该脚本对驱动器进行快速分析,然后修剪所有空白空间。我发现失去Cron wiper.sh每周运行一次(或每天/每月一次/无论运行一次)要容易得多,而不是失去功能。除非您不停地进行拆卸,否则OS驱动器的SSD降级不会这么快。您不需要需要实时TRIMming。

还有一个叫做 DiskTRIM 的GUI前端,它似乎不在存储库中。经验不足的用户可能会发现它比设置cron作业更易于使用。

有用于hdparm和disktrim的PPA,并且所有PPA都可以在Lucid上运行(甚至更远),而无需2.6.33+内核。

20
Oli

从内核2.6.33开始,Linux支持带有ETX4文件系统的自动TRIM。

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

8
Uli

通常,是的,因为有很多获取新内核的方法。如果我们澄清您的问题为:“ 10.04 LTS是否已开箱即用地支持该命令?”那么答案是否定的。但是,Maverick和Natty的内核(-generic,-generic-pae,-server和-virtual风味)都已反向移植到10.04 LTS,并且可以从Ubuntu存储库中的$ release-updates获得,例如linux-image-generic-lts-backport-maverick小牛对露西德的反向移植

4
Daniel T Chen

我正在运行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 
 freesize = 13785252 KB,保留= 137852 KB 
正在准备以下文件的在线TRIM:/dev/sda1上的可用空间(在/ ext/ext4上以读写方式安装了ext4)。
 
此操作可以静默破坏您的数据。确定(是/否)? y 
创建临时文件(13647400 KB).. 
正在同步磁盘.. 
开始TRIM操作.. 
 get_trimlist =/sbin/hdparm --fibmap WIPER_TMPFILE。 9689 
 
/dev/sda:
从462个范围中修剪27294800个扇区
成功
删除临时文件.. 
正在同步磁盘.. 
完成。

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

好奇是否有人可以使用它。

2
user10292