在linux下开启TRIM对SSD性能优化

来源:互联网 发布:淘宝店名制作 编辑:程序博客网 时间:2024/06/05 10:45
1)Trim的作用
原本在机械硬盘上,写入数据时,Windows会通知硬盘先将以前的擦除,
再将新的数据写入到磁盘中。而在删除数据时,Windows只会在此处做
个标记,说明这里应该是没有东西了,等到真正要写入数据时再来真正
删除,并且做标记这个动作会保留在磁盘缓存中,等到磁盘空闲时再执行。

这样一来,磁盘需要更多的时间来执行以上操作,速度当然会慢下来。

而当Windows识别到SSD并确认SSD支持Trim后,在删除数据时,会不
向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。
Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删
除区域要快得多。这一步就已经省下一大笔时间了。然后再是写入数据的
时候,由于NAND 闪存保存数据是纯粹的数字形式,因此可以直接根据
Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花
时间去擦除原本的数据。

以上就是Trim的原理以及真正作用。
注意:如果SSD组RAID0后,将失去Trim功能

2)网上常见的方法是在挂载SSD分区时加(/etc/fstab)入discard参数,
但是有人的观点是这样做对大多数SSD来说并不是一个好方法,这里介绍
另一种方法——通过cron的daily任务来实现。下面介绍过程,非常简单
A)确定内核版本在2.6.33以上(archlinux保持更新的话无需关心这一点)
B)确保SSD支持TRIM,方法为终端运行:
sudo hdparm -I /dev/sda | grep "TRIM supported"
查看输出是否有TRIM supported字样(上面命令中sda根据实际情况进行替换)
C)确保分区是btrfs或者ext4
D)在/etc/cron.daily/下添加一个文本文件,这里就叫做trim,然后用编辑器
(sudo)打开,输入下面内容:
#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG
保存退出。最后两行是核心命令,这里举的例子适用于“/”和“/home”独立分区
并挂载SSD的情形,实际情况因人而异,须做相应调整。
你可以先在终端运行
sudo fstrim -v /
来查看fstrim是否可以正常运行,输出应该类似于:
/: 8158715904 bytes were trimmed
E)给/etc/cron.daily/trim增加可执行权限:
sudo chmod +x /etc/cron.daily/trim
F)这样就可以保持trim始终在后台运行了(当然你需要crond的后台进程)

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机sd卡被锁定怎么办 冰箱制冷管堵了怎么办 冰箱的管子破了怎么办 淘宝京东e卡冻结怎么办 苏宁任性付冻结怎么办 苏宁订单删除了怎么办 联通销户话费有余额怎么办 暖气改地热不热怎么办 老楼房暖气不热怎么办 4s店修不好车怎么办 苏宁的发票丢了怎么办 京东退货没有发票怎么办 发票发错了邮箱怎么办 苹果手机忘记电子邮箱验证码怎么办 退差价把红包退还了怎么办 网上购票票丢了怎么办 岗位人手不够老板又不招人来怎么办 辞职后提成不发怎么办 老板给客户吵架员工该怎么办 冰柜声音大怎么办嗡嗡响 交了钱电没有怎么办 小白熊电动吸奶器显示F1怎么办 花洒的水变小了怎么办 手机插卡处坏了怎么办 吉利帝豪一键启动钥匙没电怎么办 居民医保断交5年怎么办 社保和医保断了怎么办 停缴了两年社保怎么办 医保交不够20年怎么办 医保断交4个月怎么办 医保断交5个月怎么办 换城市后社保卡怎么办 苹果6s呼叫失败怎么办 苹果手机打电话显示呼叫失败怎么办 苹果手机经常呼叫失败怎么办 苹果手机呼叫号码呼叫失败怎么办 好友把我拉黑了怎么办 有人一直打骚扰电话怎么办 每天都有骚扰电话怎么办 苹果7被电话轰炸怎么办 苹果手机接听声音小怎么办