首页 >>  正文

trim指令

来源:baiyundou.net   日期:2024-09-21

作者:sfezen

今年SSD降幅明显,相信站内很多朋友都买了SSD固态硬盘,笔者也分别入手了京造、移速的固态硬盘。虽然两者都是京东自营并负责售后,不过谁也不想硬盘在毫无预期的时候突然挂掉,笔者挂在锐角云上的某讯H1硬盘因突然跳电导致敲盘,恢复docker配置、虚拟机花费了大半天时间。

TRIM不仅可以延长 SSD 的使用寿命,还可以提高读写速度,但仍需要注意:TRIM涉及到数据安全!!!所以建议各位观众姥爷们切勿在正式环境上盲目启用!

先说结论:想要开启TRIM功能需要软硬件同时支持,目前市面上绝大多数硬件都已支持TRIM,但USB移动硬盘固件支持较弱。

  • 我的硬件支持TRIM吗?

1. SSD固态硬盘首先要支持TRIM,一般较新的SSD都支持,可以使用查看CrystalDiskInfo查看

2. 如果你的SSD是使用硬盘盒的方式接入主机USB,那么移动硬盘盒的主控芯片是否支持TRIM成为关键的影响因素!当然如果你是直接接在主板的M.2或SATA接口上,就免去了这部分烦恼!

关于某一型号的硬盘盒或者某一主控是否支持TRIM,各家都众说纷纭,究其原因笔者理解为:TRIM这项技术并未被厂商作为主要卖点;同一主控芯片也存在不同厂商不同固件,所以我们的测试就像盲人摸象,得出来的结论自然也是大相径庭,这里也希望硬盘盒厂商能重视这一点。

有请正方一辩:

有请反方一辩:

支不支持首先看主控芯片,这里可以通过芯片厂商的官网查询,其次看硬盘盒厂家固件,可以通过询问客服或技术人员索取固件。目前市面上的绝大多数主控都支持TRIM,但硬盘盒固件支持较弱!

  • 我的系统支持TRIM吗?

系统也需要支持TRIM,笔者查阅资料发现,Windows阵营从Win7系统开始便已支持TRIM,不需要特殊操作。这点给巨硬点赞!

fsutil behavior query DisableDeleteNotify

再看Linux这边对于TRIM支持相对比较保守,虽然在2008年内核已支持TRIM,但应用较少,毕竟服务器的稳定性高于一切,通过磁盘阵列等方式可以弥补机械硬盘的速度短板,对于商用而言机械硬盘依然是首选,再加上TRIM对RAID的影响。但是TRIM非常适用我们个人的应用场景,比如系统中的缓存文件以及各种小文件。因为我们的固态硬盘通常不会写满,TRIM能大大提高固态硬盘的工作效率。

Linux下如何查询TRIM支持(笔者这里使用debian10作为演示,硬盘盒为绿联,设备路径为/dev/sda

安装必要软件

apt install sg3-utils hdparm -y

查看设备

lsusb

df -h查看设备路径

运行命令:

hdparm -I /dev/sda | grep TRIM

注意命令中 /dev/sda 需要改成你自己的设备路径

第二种方式:

lsblk --discard

当然还有第三种判断方法,直接运行命令手动执行裁剪,看看SSD是否在其中

fstrim -a -v

  • USB固态硬盘可能出现的问题

笔者使用的绿联在3项测试中仅通过第1种测试,到底是支持还是不支持呢?

经过学习终于在ArchWiki中找到了答案:

一些USB转SATA芯片(如VL715、VL716等)以及在外接NVMe硬盘盒(如IB-1817M-C31[失效链接 2022-09-23 ]))中使用的USB转PCIe芯片(如 智微(JMicron) JMS583 )支持类似TRIM的命令,这些命令可通过 USB Attached SCSI 驱动程序(在Linux下称为"uas")发送。

首先运行

sg_readcap -l /dev/sda

如果有Logical block provisioning: lbpme=0这一行,继续执行

sg_vpd -a /dev/sda

设备支持UNMAP,只需要在对应的provisioning_mode中添加unmap参数即可

echo "unmap" >/sys/block/sda/device/scsi_disk/*/provisioning_mode

通过添加udev配置文件实现该设备自动配置

nano /etc/udev/rules.d/99-sata-adapter-trim-enable.rules

添加以下文件,使用lsusb命令查看设备PID VID,修改对应的ID

ACTION=="add|change", ATTRS{idVendor}=="174c", ATTRS{idProduct}=="225c", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"

这样内核便自动检测到并启用UAS,再次测试这次3项全部通过。

  • 软硬件均支持TRIM,如何才能启用TRIM?

开启TRIM有两种方式:Continuous TRIM和Periodic TRIM

Continuous TRIM即通过修改/etc/fstab中硬盘的挂载参数加入discard以实现每次在文件被删除后就立即执行TRIM指令,由于Continuous TRIM会拖慢系统,并且有可能导致的数据损坏,目前已不推荐这种方式。

btrfs分区支持ssd这个参数,但ext4并不支持该参数,所以挂载时注意分区格式,建议加入nofail参数以免因挂载失败导致系统无法启动。

Periodic TRIM则是定期在支持TRIM的设备上执行修剪,更推荐这种方式。

启动命令

systemctl enable fstrim.timer

systemctl start fstrim.timer

systemctl status fstrim.timer

至此,配置TRIM的相关步骤就结束了,在此感谢各位观众姥爷们的点赞、评论、打赏!希望本文能给各位带来帮助!

恰逢双十一,笔者这里也推荐几款固态硬盘给各位观众姥爷们:

首先是本次使用的绿联硬盘盒,笔者到手的主控是ASM2235,没有难为我去刷固件

笔者购买的原因主要是:京东自营并提供5年质保,目前用于OMV中替换坏了的H1

京造的这块硬盘目前在挂某PCDN,自营售后没毛病

再推荐下笔者双十一准备购买的两款 

本文参考:

Solid state drive (简体中文) - ArchWiki (archlinux.org)

Fix SSD TRIM on UGREEN UASP USB SATA adapter/enclosure - DEV Community

LemonTeaTT https://www.bilibili.com/read/cv16918890/

","force_purephv":"0","gnid":"94d46333ab0096f8f","img_data":[{"flag":2,"img":[{"desc":"","height":"616","title":"","url":"https://p0.ssl.img.360kuai.com/t014ad557fd5d1baf8e.jpg","width":"600"},{"desc":"","height":"568","title":"","url":"https://p0.ssl.img.360kuai.com/t019c2fb27f1d54efce.jpg","width":"600"},{"desc":"","height":"195","title":"","url":"https://p0.ssl.img.360kuai.com/t01d9ef865d3de11c34.jpg","width":"600"},{"desc":"","height":"291","title":"","url":"https://p0.ssl.img.360kuai.com/t01ebc7e2c383947c40.jpg","width":"600"},{"desc":"","height":"139","title":"","url":"https://p0.ssl.img.360kuai.com/t0174bc374e661052db.jpg","width":"464"},{"desc":"","height":"174","title":"","url":"https://p0.ssl.img.360kuai.com/t014c345750e7598915.jpg","width":"600"},{"desc":"","height":"336","title":"","url":"https://p0.ssl.img.360kuai.com/t016a028c67e98f6eec.jpg","width":"600"},{"desc":"","height":"95","title":"","url":"https://p0.ssl.img.360kuai.com/t018c7b85da1d059b60.jpg","width":"600"},{"desc":"","height":"186","title":"","url":"https://p0.ssl.img.360kuai.com/t01c5fbd2c8e4897d77.jpg","width":"596"},{"desc":"","height":"158","title":"","url":"https://p0.ssl.img.360kuai.com/t012117987f5f42cd83.jpg","width":"495"},{"desc":"","height":"184","title":"","url":"https://p0.ssl.img.360kuai.com/t01cbac7e52a4906a1e.jpg","width":"600"},{"desc":"","height":"154","title":"","url":"https://p0.ssl.img.360kuai.com/t01b28dfa811824332f.jpg","width":"585"},{"desc":"","height":"165","title":"","url":"https://p0.ssl.img.360kuai.com/t015986d9088fd5784d.jpg","width":"600"},{"desc":"","height":"202","title":"","url":"https://p0.ssl.img.360kuai.com/t01b500a5055d16239e.jpg","width":"600"},{"desc":"","height":"142","title":"","url":"https://p0.ssl.img.360kuai.com/t01f77a0bd0140d3fdb.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,sexf,sex2,sexc,disu_label,fts0,sts0","powerby":"hbase","pub_time":1668044665000,"pure":"","rawurl":"http://zm.news.so.com/268074fbed261a8214b3715bce78f6f6","redirect":0,"rptid":"cd0bbf37159c3a72","s":"t","src":"什么值得买","tag":[{"clk":"kdigital_1:sata","k":"sata","u":""},{"clk":"kdigital_1:硬盘","k":"硬盘","u":""},{"clk":"kdigital_1:固态硬盘","k":"固态硬盘","u":""}],"title":"如何延长SSD寿命提高读写速度?固态硬盘TRIM开启指南

沃娥隶1017TRIM(修剪)命令的快速剪切技巧?
贡荣芬18980282785 ______ 回复:最初由 秋枫 发布F指fence选择模式.拉出来的线碰到物体时相当于鼠标以碰到点选中物体.对于裁剪多条线很有用. 对,Fence 选择的方式,不仅在Trim 时有用,凡在选择多个物体的命令中都有用,很方便!

沃娥隶1017ssd垃圾收集都去除什么类型垃圾?“TRIM指令:告诉SSD哪些数据是无效的”怎么理解?每天上网垃圾算不算?
贡荣芬18980282785 ______ 首先要强调,硬盘中的数据在你删除之后实际上还是存在这的,无论是HDD还是SSD都是这样. 区别在于HDD可以在进行写入时直接将之前的数据覆盖来达到擦除效果,SSD却必须进行擦除之后才能开始写入数据. 但是SSD在写入数据时,是按照区块来的进行的(擦除也是一种写入操作),如果在写入之前在区块里有数据,就需要进行擦除操作,这就占用了一定的时间,表现出来的就是写入速度下降. TRIM指令就是标记之前删除的数据区,在SSD空闲时将其擦除,并且指引SSD向之前已经擦除好的区块直接写入. 此时的垃圾是指已经删除,却没有在硬盘上擦除的数据.

沃娥隶1017CAD制图中使用trim命令时
贡荣芬18980282785 ______ 设置的问题 输入OP调出选项框 然后:选择集-去掉"用SHELF键添加选择集"前面的"勾"就行了

沃娥隶1017CAD批量修剪命令 -
贡荣芬18980282785 ______ 点修剪->选定你要修剪的图型->回车->f->回车->在你要修剪的一排上划一条直线->回车,选定的线条就会全被修剪掉!

沃娥隶1017装声卡固态硬盘 -
贡荣芬18980282785 ______ 声卡和SSD是不会冲突的.但是XP系统不支持SSD硬盘的Trim.用SSD想要让他一直发挥最好性能,至少要装Vista以上版本系统.还需要安装相应的驱动你的是A88X芯片组.驱动系统缺一不可.Trim的作用 原本在机械硬盘上,写入数据时,...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024