最近在折腾Ubuntu系统,想工作上能更专注一些,下面是一些经验吧算是。
0x00
查看SSD以及系统环境是否支持Trim
系统需要满足如下条件才能开启trim
1. 系统内核版本大于等于 2.6.33
2. 所用的 SSD 支持 Trim
3. 分区格式为 ext4(或 BTRFS)
对于ubuntu14.04,内核版本已经升级到4.x,系统层面支持不是问题
对于查看SSD是否支持Trim可以采用下面方法验证
如下面的输出即是支持的,输出中明确supportedloong@LOONG:/etc/cron.weekly$sudohdparm-I/dev/sda|grep"TRIM"
[sudo]passwordforloong:
*DataSetManagementTRIMsupported(limit8blocks)
0x01
Ubuntu系统从14.04已经默认对知名的SSD固态硬盘做了每周的定时Trim
如下,在cron.weekly里有相关配置loong@LOONG:/etc/cron.weekly$ls
0anacronapt-xapian-indexfstrimman-dbupdate-notifier-common
而fstrim脚本内容即为执行trim的命令,如下loong@LOONG:/etc/cron.weekly$catfstrim
#!/bin/sh
#callfstrim-alltotrimallmountedfilesystemswhichsupportit
set-e
#ThisonlyrunsonIntelandSamsungSSDsbydefault,assomeSSDswithfaulty
#firmwaremayencounterdatalossproblemswhenrunningfstrimunderhighI/O
#load(e.g./bugs/1259829).Youcanappendthe
#--no-model-checkoptionheretodisablethevendorcheckandrunfstrimon
#allSSDdrives.
execfstrim-all
0x02
所有的linux系统可以采用在ext4分区增加discard选项方式增加trim支持,但是效率较低,已经被Deprecated ,不建议使用
开启方法为在/etc/fstab中要支持trim的分区增加discard参数,如下UUID=f0c140a1-3118-4bdf-a4b9-9d9ca13c11d6/ext4discard,errors=remount-ro01
0x03
判断trim是否生效
0x04
关于SSD分区自动对齐
用SSD的都应该知道,SSD分区是否进行4k对齐对性能以及SSD寿命的影响巨大,那么在分区时就需要注意,下面是分区方法以及验证是否4K对齐方法
先说说这个 4K 对齐。有人说用 GParted 直接分区会自动进行 4K 对齐,而更普遍的说法则是分区时在 “Free Space
Preceding”
处填上一个整数(比如1或2,如下图)。我使用了后面那个方法,因为我是装完系统才知道前面那个(更新:经测试前面那个方法是有效的)。
测试是否 4K 对齐很简单,在终端运行 $sudo fdisk -l 然后查看各分区的起始扇区,如果是8的倍数则表明该分区已经“4K 对齐”了(如下图,Start 一栏的数值全部为8的倍数)。
0x05
总结
如上即是在Ubuntu优化(折腾
)过程中关于硬盘的优化部分了,其中学到了查看4k对齐的方法,还好新分的分区已经是对齐过了的,应该是ubuntu系统在安装时格式化已经处理了这个问题
linux系统中定制执行的cron机制,可以利用这个做些类似windows系统下计划任务的事情
0x06
参考文档