首页 > Linux > Ubuntu 固态硬盘 4K 对齐及启用 Trim

Ubuntu 固态硬盘 4K 对齐及启用 Trim

2013年7月26日 发表评论 阅读评论

因为之前一个移动硬盘因为坏道问题导致没办法继续使用,于是跑去买了一块 120GB 的三星840固态硬盘回来。为了使用起来更方便,还去弄了个光驱位硬盘托架,把固态硬盘接在了光驱位与原本的笔记本硬盘一起工作。

在买之前有了解到要使固态硬盘发挥出它应有的性能以及延长它的寿命,需要对它进行 4K 对齐并且开启 Trim。

先说说这个 4K 对齐。有人说用 GParted 直接分区会自动进行 4K 对齐,而更普遍的说法则是分区时在 “Free Space Preceding” 处填上一个整数(比如1或2,如下图)。我使用了后面那个方法,因为我是装完系统才知道前面那个(更新:经测试前面那个方法是有效的)。

GParted_New

测试是否 4K 对齐很简单,在终端运行 $sudo fdisk -l 然后查看各分区的起始扇区,如果是8的倍数则表明该分区已经“4K 对齐”了(如下图,Start 一栏的数值全部为8的倍数)。

4K_Alignment

接下来就是启用 Trim。有两种方法可以让 Trim 运作,第一种是使用 Online Discard (fstab),另一种是使用 cron 按计划执行 fstrim。在启用 Trim 之前,首先要满足下面几个条件:

可以通过下面这个命令来查看所用的 SSD 是否支持 Trim:

在终端输入 $sudo gedit /etc/fstab,然后在 SSD 每个分区的选项中都加上 “discard”,比如我的 fstab 修改后是这样:

这个方法比较简单,但是并不推荐这么做。Discard 选项启用后,文件系统上的文件一旦被删除,会立即通知 SSD 进行 Trim 操作。在进行删除大量小文件的操作时可能会造成不小的性能下降,参见 Patrick 的博客文章

fstrim 是执行 Trim 操作的命令,配合 cron 可以让操作系统按计划执行 Trim 操作,每天一次。

首先在 /etc/cron.daily 目录下创建一个名为 trim 的文件:

往 trim 文件中粘贴如下内容:

真正执行 Trim 操作的是最后两个命令,要根据实际情况进行修改。因为我的根目录和 home 目录在两个独立的分区,所以在这里使用了两个命令分别执行 fstrim。

最后给 trim 文件加一个可执行权限就可以了:

Ubuntu 会在每天早上 6:25 执行 cron 每日任务,如果当时电脑没有开机的话,任务仍然会在其它时间执行。日志文件保存在 /var/log/trim.log 中。

总的来说,4K 对齐与启用 Trim 都很简单。我安装完系统测得平均读取速度达到 280MB/S,逼近 SATA2 的理论上限。与原先的机械硬盘相比,不论是开机启动速度还是应用程序响应速度都得到了极大的改善!

拓展阅读:SSD 新手使用須知:4K 對齊調教實戰,提升 SSD 效能

David Yin. (19 Aug, 2012). Make sure 4K Alignment on SSD. David Yin”s Blog. Retrieved 26 Jul, 2013, from http://www.yinfor.com/blog/archives/2012/08/make_sure_4k_alignment_on_ssd.html

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 https://sites.google.com/site/lightrush/random-1/howtoconfigureext4toenabletrimforssdsonubuntu

OpenNingia. (30 Dec, 2010). Installing Ubuntu on a SSD. Ask Ubuntu. Retrieved from http://askubuntu.com/questions/19376/installing-ubuntu-on-a-ssd

Uli. (30 Dec, 2010). How to enable TRIM?. Ask Ubuntu. Retrieved from http://askubuntu.com/questions/18903/how-to-enable-trim

ivan. (19 Oct, 2010). Linux平台使用SSD必讀 (範例為Ubuntu). 永遠的真田幸村. Retrieved from http://yblog.org/archive/index.php/11734

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 https://sites.google.com/site/lightrush/random-1/checkiftrimonext4isenabledandworking

Multiple. (n.d.). TRIM. Wikipedia, the free encyclopedia. Retrieved 26 Jul, 2013, from  http://en.wikipedia.org/wiki/TRIM

Multiple. (n.d.). Serial ATA. Wikipedia, the free encyclopedia. Retrieved 26 Jul, 2013, from http://en.wikipedia.org/wiki/Serial_ATA

Anonymous. (n.d.). Grub2. Community Ubuntu Documentation. Retrieved from https://help.ubuntu.com/community/Grub2

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 http://www.webupd8.org/2013/01/enable-trim-on-ssd-solid-state-drives.html

Patrick. (8 Jul, 2011). Impact of ext4′s discard option on my SSD. Patrick’s WebLog. Retrieved 22 Apr, 2014, from https://patrick-nagel.net/blog/archives/337

Multiple. (n.d.). cron. Wikipedia, the free encyclopedia. Retrieved 22 Apr, 2014, from http://en.wikipedia.org/wiki/Cron

Anonymous. (n.d.). fstrim(8). Linux manual page. Retrieved 22 Apr, 2014, from http://man7.org/linux/man-pages/man8/fstrim.8.html

Anonymous. (n.d.). CronHowto. Community Help Wiki. Retrieved 22 Apr, 2014, from https://help.ubuntu.com/community/CronHowto

Ji m. (8 Dec, 2013). How to Enable TRIM on SSD in Ubuntu Linux. UbuntuHandbook. Retrieved 22 Apr, 2014, from http://ubuntuhandbook.org/index.php/2013/12/enable-trim-ssd-better-performance/

分类: Linux 标签: , , ,

Time limit is exhausted. Please reload CAPTCHA.