关于对新装Linux的固态硬盘(SSD)做优化配置

来源:互联网 发布:yoast seo设置 编辑:程序博客网 时间:2024/06/10 05:32
关于对新装Linux的固态硬盘(SSD)做优化配置
原文来自http://forum.suse.org.cn/viewtopic.php?f=2&t=100

由 比利海灵顿 » 周日 3月 31日, 2013年 9:39 pm初来乍到,写一篇小文交流一下日常应用心得,如有错漏疏忽之处,敬请指正!

去年可以说是SSD的普及年,目前128GB的SSD价格已经降到600到800的价位,进入了不少喜欢尝鲜的用户的接受范围之内,想当年我买的第一个SSD镁光M4,最便宜的64GB版本的时候就得七八百,而现在64GB的产品基本淘汰。新年过后,我也趁X东促销给新买的笔记本入了一个三星840。
关于Linux下如何对SSD做优化配置,网上众说纷纭,很多人都拿不定主意,或者某些配置很麻烦但收效甚微,对初心者来说,确实一头雾水。
我也不妨献丑说一下我平时的做法,希望能帮到大家:

1、安装系统前,确定BIOS中SATA工作在AHCI模式下,而非IDE模式,进BIOS的方法一般开机时都有提示。以AMI的BIOS为例,在chipset -> sourth bridge -> sb SATA configuration里可以找到配置项,至于其他的BIOS我就不一一举例,通常在BIOS界面都有提示,再不济逐个找也花不了多少时间。

2、4K对齐
网上很多人说Linux分区不需要4K对齐,其实这是一个误区!百度Linux吧曾经有一篇横测对比的文章,除了btrfs文件系统之外,对其余文件系统的影响还是很大的,当然,我不是说btrfs文件系统就比其他文件系统强,我本人用的是ext4,孰优孰劣可以谷歌一下各种文件系统的性能对比。在这方面Linux各大发行版基本上已经帮你考虑了这个问题,就算是arch和gentoo安装时用到的fdisk,在创建分区时也默认首扇区对齐,所以基本上不需要太担心这个问题。如果实在不放心可以使用sudo /sbin/fdisk -l /dev/sda(假设ssd是sda)命令,看看各分区首扇区是否能被8整除,如果可以就是对齐了!(至于为什么能被8整除就算对齐呢?有兴趣的朋友可以谷歌一下“4K对齐”的含义)



3、修改/etc/fstab。
在网上基本上每一篇教程都会推荐加discard和noatime参数,但很少人知道加上后具体有什么用。
discard参数就是每删除一次文件就执行一次trim指令,至于什么是trim,估计购买过ssd的同学都不陌生,简单来说就是告诉SSD哪些数据块已经不再使用,以便SSD回收,利于损耗平衡。但这个过程不可能不耗费资源,每删除一次文件就执行一次trim肯定会损失性能,所以我认为只要定时trim足矣(配合crontab定时执行trim),没必要加上discard参数。
noatime就是在读文件时不修改文件的atime属性,也就是不需要记录时间等信息,节约资源,可以加上noatime参数!



4、fstrim
fstrim命令即向ssd发送trim指令,如:sudo /sbin/fstrim -v /,一般只需要加[-v] mountpoint参数就可以。当然,不可能每执行一次就要手动输入,使用contab可以自动定时执行。我的方法是将fstrim命令写入bash脚本,主要是方便多个SSD或者多个挂载点的使用,如果想知道命令是否正常执行可以在命令后加上“ >> filename”写入某个文件。如图。
ps:contab的使用方法也很简单,具体来说就是可以控制在指定时间执行某条命令。请注意,fstrm需要root权限才能执行,设置contab时要使用root身份,以确定定时执行命令的权限为root。 
输入contab -e命令后会打开vim窗口,直接按照 “ * * * * * 想要执行的命令” 的格式配置即可,前面的五个星号代表“分 时 日 月 星期的某天”,假如我要每天上午7时执行一次命令,我可以设置为“ * 7 * * * 想要执行的命令”。(contrim还有很多用法,如果想了解可以谷歌相关资料)

图3:执行fstrim指令


0 0