ext4会对机械linux格式化硬盘 ext4做trim吗

& Ubuntu 固态硬盘 4K 对齐及启用 Trim
Ubuntu 固态硬盘 4K 对齐及启用 Trim
因为之前一个移动硬盘因为坏道问题导致没办法继续使用,于是跑去买了一块 120GB 的三星840固态硬盘回来。为了使用起来更方便,还去弄了个光驱位硬盘托架,把固态硬盘接在了光驱位与原本的笔记本硬盘一起工作。
在买之前有了解到要使固态硬盘发挥出它应有的性能以及延长它的寿命,需要对它进行 4K 对齐并且开启 Trim。
先说说这个 4K 对齐。有人说用 GParted 直接分区会自动进行 4K 对齐,而更普遍的说法则是分区时在 “Free Space Preceding” 处填上一个整数(比如1或2,如下图)。我使用了后面那个方法,因为我是装完系统才知道前面那个(更新:经测试前面那个方法是有效的)。
测试是否 4K 对齐很简单,在终端运行 $sudo fdisk -l 然后查看各分区的起始扇区,如果是8的倍数则表明该分区已经“4K 对齐”了(如下图,Start 一栏的数值全部为8的倍数)。
接下来就是启用 Trim。有两种方法可以让 Trim 运作,第一种是使用 Online Discard (fstab),另一种是使用 cron 按计划执行 fstrim。在启用 Trim 之前,首先要满足下面几个条件:
1. 系统内核版本大于等于 2.6.332. 所用的 SSD 支持 Trim3. 分区格式为 ext4(或 BTRFS)
可以通过下面这个命令来查看所用的 SSD 是否支持 Trim:
sudo hdparm -I /dev/sdx | grep "TRIM supported"# /dev/sdx 是 SSD 的设备名称,可以通过命令 $sudo fdisk -l 查看# 如果回显 "* Data Set Management TRIM supported" 则表明 SSD 支持 Trim,没有返回内容则说明不支持
使用 Online Discard (fstab)
在终端输入 $sudo gedit /etc/fstab,然后在 SSD 每个分区的选项中都加上 “discard”,比如我的 fstab 修改后是这样:
12345678910111213141516
# /etc/fstab: static file system information.## Use "blkid" to print the universally unique identifier for a# this may be used with UUID= as a more robust way to name devices# that works even if disks are added and removed. See fstab(5).## &file system& &mount point& &type& &options& &dump& &pass&proc /proc proc nodev,noexec,nosuid 0 0# / was on /dev/sda2 during installationUUID=-e525-4027-9f1d-aec4d880ed3f / ext4 discard,errors=remount-ro 0 1# /boot was on /dev/sda1 during installationUUID=131d0cfb-c5dc-4020-a3ba-6fc4c73c809c /boot ext4 discard,defaults 0 2# /home was on /dev/sda3 during installationUUID=001a7d33-bd16-4a81-a92c-edd810f04259 /home ext4 discard,defaults 0 2# swap was on /dev/sda4 during installationUUID=95f955ac-39d9-4a61-911a-84eed8897517 none swap sw 0 0
这个方法比较简单,但是并不推荐这么做。Discard 选项启用后,文件系统上的文件一旦被删除,会立即通知 SSD 进行 Trim 操作。在进行删除大量小文件的操作时可能会造成不小的性能下降,。
使用 cron 按计划执行 fstrim
fstrim 是执行 Trim 操作的命令,配合 cron 可以让操作系统按计划执行 Trim 操作,每天一次。
首先在 /etc/cron.daily 目录下创建一个名为 trim 的文件:
sudo gedit /etc/cron.daily/trim
往 trim 文件中粘贴如下内容:
#!/bin/shLOG=/var/log/trim.logecho "*** $(date -R) ***" && $LOGfstrim -v / && $LOGfstrim -v /home && $LOG
真正执行 Trim 操作的是最后两个命令,要根据实际情况进行修改。因为我的根目录和 home 目录在两个独立的分区,所以在这里使用了两个命令分别执行 fstrim。
最后给 trim 文件加一个可执行权限就可以了:
sudo chmod +x /etc/cron.daily/trim
Ubuntu 会在每天早上 6:25 执行 cron 每日任务,如果当时电脑没有开机的话,任务仍然会在其它时间执行。日志文件保存在 /var/log/trim.log 中。
总的来说,4K 对齐与启用 Trim 都很简单。我安装完系统测得平均读取速度达到 280MB/S,逼近 SATA2 的理论上限。与原先的机械硬盘相比,不论是开机启动速度还是应用程序响应速度都得到了极大的改善!
参考资料及相关链接
拓展阅读:
David Yin. (19 Aug, 2012). Make sure 4K Alignment on SSD. David Yin”s Blog. Retrieved 26 Jul, 2013, from
Nicolay Doytchev. (17 Oct, 2010). HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions. Forked by Nicolay. Retrieved 26 Jul, 2013, from
OpenNingia. (30 Dec, 2010). Installing Ubuntu on a SSD. Ask Ubuntu. Retrieved from
Uli. (30 Dec, 2010). How to enable TRIM?. Ask Ubuntu. Retrieved from
ivan. (19 Oct, 2010). Linux平台使用SSD必讀 (範例為Ubuntu). 永遠的真田幸村. Retrieved from
Nicolay Doytchev. (21 Sep, 2010). HOWTO: Check If TRIM On Ext4 Is Enabled And Working On Ubuntu And Other Distributions. Forked by Nicolay. Retrieved 26 Jul, 2013, from
Multiple. (n.d.). TRIM. Wikipedia, the free encyclopedia. Retrieved 26 Jul, 2013, from
Multiple. (n.d.). Serial ATA. Wikipedia, the free encyclopedia. Retrieved 26 Jul, 2013, from
Anonymous. (n.d.). Grub2. Community Ubuntu Documentation. Retrieved from
Andrew. (15 Jan, 2013). ENABLE TRIM ON SSD (SOLID-STATE DRIVES) IN UBUNTU FOR BETTER PERFORMANCE. Web Upd8: Ubuntu / Linux blog. Retrieved 22 Apr, 2014, from
Patrick. (8 Jul, 2011). Impact of ext4′s discard option on my SSD. Patrick’s WebLog. Retrieved 22 Apr, 2014, from
Multiple. (n.d.). cron. Wikipedia, the free encyclopedia. Retrieved 22 Apr, 2014, from
Anonymous. (n.d.). fstrim(8). Linux manual page. Retrieved 22 Apr, 2014, from
Anonymous. (n.d.). CronHowto. Community Help Wiki. Retrieved 22 Apr, 2014, from
Ji m. (8 Dec, 2013). How to Enable TRIM on SSD in Ubuntu Linux. UbuntuHandbook. Retrieved 22 Apr, 2014, from
showcase -->SSD的TRIM功能有什么作用?
我看到固态硬盘的参数中多了一个trim功能,我想知道这个功能是什么,SSD硬盘的TRIM功能有什么作用,如果用固态硬盘就能自动开启TRIM功能么,TRIM功能有哪些优势和弊端?
已有1个回答
[编辑专家]
专家星级&:&0.5星
问答堂专家综合评分
问题评分&:&0星
采纳、点赞&:&0星
二次回复率&:&5星
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因×
擅长领域:
参与话题:
Trim的作用  原本在机械硬盘上,写入数据时,Windows会通知硬盘先将以前的擦除,再将新的数据写入到磁盘中。而在删除数据时,Windows只会在此处做个标记,说明这里应该是没有东西了,等到真正要写入数据时再来真正删除,并且做标记这个动作会保留在磁盘缓存中,等到磁盘空闲时再执行。  这样一来,磁盘需要更多的时间来执行以上操作,速度当然会慢下来。  而当Windows识别到SSD并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。这一步就已经省下一大笔时间了。然后再是写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,因此可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。以上就是Trim的原理以及真正作用。注意:如果SSD组RAID0后,将失去Trim功能================================================================这个功能一个大的特点就是:回收闲置的SSD数据块& & Objective Analysis的SSD分析师Jim Handy这样形容到(Objective Analysis是一家半导体市场研究公司):  TRIM指令让操作系统可以告诉固态驱动器哪些数据块是不会再使用的;否则SSD控制器不知道可以回收这些闲置数据块。  Handy表示:"TRIM对SSD是个福音。"  他认为TRIM的简约性将极大减少写入负担,同时允许SSD更好地在后台预删除闲置的数据块,以便让这些数据块可以更快地预备新的写入。  SandForce首席技术官Radoslav Danilak表示,值得注意的是OS(操作系统)的角色。  Danilak表示:"SSD知道哪些过期数据可以删除和回收,但是它不知道操作系统已经决定删除哪些数据,直到操作系统为了新的信息而重新使用逻辑块地址(LBA)。"  Danilak表示:"TRIM这种指令的优点便是它可以同时透过过期数据和OS删除的数据来访问LBA,从而推动性能的改善。TRIM唯一的缺点便是如果它在SSD固件中没有得到很好的实施,那么它的操作有可能会阻碍正常的驱动器操作。"  STEC负责SSD技术营销的高级经理Scott Shadley认为,如果TRIM可以让SSD完全忽略一个LBA范围的数据,那么这是一件好事,但是这种结果也有可能没有什么用处。  对Shadley来说,真正的问题是,如果损耗平衡技术(wear leveling )在运作,那么LBA范围并不一定反映SSD闪存的物理地址序列。  Shadley表示:"这意味着SSD还是要面临如何将数据迁移到设备内部真正空余空间的问题。"  Shadley表示:"如果那个LBA范围反映的是整个介质上的页面,那么实际上就没有空余的块或最小的可擦写的单位。这会带来更加复杂的损耗平衡过程,从而进一步加重写入负担。TRIM只适合于那些损耗平衡过程实际上并未有效节约或延长驱动器性能或寿命的SSD。"===========================================================================下图:开关Trim后的读取速度测评开关Trim后的读取速度测评下图:开关Trim后的写入速度对比开关Trim后的写入速度对比  举个例子,假如一个128KB大小的区块内存放着一个128KB的文件,如果文件被删除并执行Trim操作,固态硬盘就可以避免把这个区块中的字节与对此区块的后续写入所需的其它字节相混合,这能大大减轻固态硬盘的“磨损”。在Windows 7里,Trim请求不仅限于删除操作,也于分区和卷级别命令、文件系统命令、系统还原功能完全整合。win7下Trim启用的验证方法  其实Windows 7默认状态下Trim指令是开启的,如果想查询目前的Trim指令状态,我们可以在管理员权限下,进入命令提示符界面,输入“fsutil behavior QUERY DisableDeleteNotify”,之后会得到相关查询状态的反馈。在这里,提示为“DisableDeleteNotify = 0”即Trim指令已启用;提示为“DisableDeleteNotify = 1”即为Trim指令未启用。  并不是操作系统提供Trim指令支持,所有SSD都能享受到Trim技术所带来的好处,这还需要固态硬盘的固件支持才能实现。一些主要的固态硬盘主控芯片厂商已经提供了支持Trim的固件(例如英特尔"X25-M G2"),不过也有厂商开发出不依赖操作系统的垃圾回收技术,通过回收不再使用的闪存区块加入负载平衡算法,防止固态硬盘在长期使用后速度下滑,并延长闪存使用寿命,过程完全在固态硬盘内部完成。======================================================================& & 有关固态硬盘(SSD)还有很多其他的相关问题,毕竟目前来说固态硬盘不太容易普及应用,只能适合用来做一些高速系统启动盘,或者专门的软件安装盘来达到高速的效果,应用上仍然存在很多的疑问。更多关于更多的话题可以发贴讨论:希望以上信息对你有所帮助
留下你的评论
吹牛比 胡扯
吹牛比 胡扯
吹牛比 胡扯
HDD支持这个功能吗
微信公众账号ZOL问答堂
关注微信,随时随地解答您的疑惑
ZOL问答堂官方微博@ZOL问答堂
关注成功!该问题被回答后,将给您发送站内短信。
您也可以通过关注问答堂微信,及时获得您关注问题的回答。
微信关注问题方法“”机械硬盘支持trim吗
一块固态硬盘和一块机械硬盘一起装电脑,固态硬盘做系统盘和常用软件盘,机械硬盘装一些比较大的程序和影音文件,我想知道这样混用后trim功能是否还能正常工作?
已有1个回答
[编辑专家]
专家星级&:&0.5星
问答堂专家综合评分
问题评分&:&0星
采纳、点赞&:&0星
二次回复率&:&5星
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因×
擅长领域:
参与话题:
& & 可以的,Trim功能是针对单独的硬盘而言的,对于几乎是完全独立的一块机械硬盘与一块固态硬盘的组合来说,是不会受到影响的。& & 或者说这个功能Windows 7是一只默认开启着的,只是一般的机械硬盘无法支持就和关闭没有什么区别了,这个功能是专门针对固态硬盘的特殊读写访问方式设计的,固态硬盘由于是全数字模式进行读写操作的,读写操作完全不同于机械硬盘,因此针对固态硬盘的优化才开发的trim功能。Trim的作用  原本在机械硬盘上,写入数据时,Windows会通知硬盘先将以前的擦除,再将新的数据写入到磁盘中。而在删除数据时,Windows只会在此处做个标记,说明这里应该是没有东西了,等到真正要写入数据时再来真正删除,并且做标记这个动作会保留在磁盘缓存中,等到磁盘空闲时再执行。  这样一来,磁盘需要更多的时间来执行以上操作,速度当然会慢下来。  而当Windows识别到SSD并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。这一步就已经省下一大笔时间了。然后再是写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,因此可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。  以上就是Trim的原理以及真正作用。注意:如果SSD组RAID0后,将失去Trim功能& & 如下图,我的电脑只有一块机械硬盘,查询Trim状态同为开启状态说明机械硬盘是不会影响Trim的开启的。& & Windows 7默认状态下Trim指令是开启的,如果想查询目前的Trim指令状态,我们可以在管理员权限下,进入命令提示符界面,输入“fsutil behavior QUERY DisableDeleteNotify”,之后会得到相关查询状态的反馈。在这里,提示为“DisableDeleteNotify = 0”即Trim指令已启用;提示为“DisableDeleteNotify = 1”即为Trim指令未启用。点击查看:注意:如果SSD组RAID0后,将失去Trim功能,非RAID模式状态下,未开启Trim请及时更新驱动和系统补丁即可。以上文章仅为参考帮助说明,并不做全面的可适用性保证,相关支持请点击右侧的微博进行讨论。其它问题可以到更多的关于电脑和网络的问题请到交流分享希望以上信息对你有所帮助
留下你的评论
微信公众账号ZOL问答堂
关注微信,随时随地解答您的疑惑
ZOL问答堂官方微博@ZOL问答堂
关注成功!该问题被回答后,将给您发送站内短信。
您也可以通过关注问答堂微信,及时获得您关注问题的回答。
微信关注问题方法“”}

我要回帖

更多关于 ext4 trim 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信