linux下SSD优化
SSD损坏的原因是一个点写的次数过多了,优化的方式就是减少总的写入量。
1.更改BLOS中磁盘读写设置为AHCI,改为顺序写,提高读写效率
2.将SSD分一个区,如果是多个区就要注意文件系统的块开头和SSD的块开通对齐,否则就会文件系统的一个块写转换成硬件就是两个块写,是为骑马。
3.更改系统挂载文件/etc/fstab 首先搞清楚SSD挂在了哪里?一般情况下是sdb
$ df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sdb1 ext4 59G 8.0G 48G 15% /
在fstab中添加“noatime,nodiratime,discard”参数
UUID=123456-123-123-123-123456 / ext4 noatime,nodiratime,discard,errors=remount-ro 0 1
如果你内存充裕,在末尾加上如下3句话:
tmpfs /tmp tmpfs defaults,noatime,nodiratime,mode=1777 0 0 tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
4.用之前安装的系统盘进入到试用模式下,执行如下命令清除掉EXT4的journal
sudo tune2fs -O ^has_journal /dev/sdb1
5./etc/rc.local可以在里面加一些启动命令 更改内核的磁盘调度算法,SSD不需要,就要noop最简单,
echo noop > /sys/block/sdb/queue/scheduler echo 1 > /sys/block/sdb/queue/iosched/fifo_batch
更改内存脏页写回SSD的时机,整体配置是减少写入量,台式机一旦掉电会丢失相关工作,需谨慎
echo 50 > /proc/sys/vm/dirty_ratio echo 10 > /proc/sys/vm/dirty_background_ratio echo 6000 > /proc/sys/vm/dirty_expire_centisecs echo 30000 > /proc/sys/vm/dirty_writeback_centisecs
6.把一些经常写的目录挂到内存中去
ln -sf /run/lock /var/lock ln -sf /tmp/.viminfo .
主要是浏览器 Firefox
* 打开Firefox,输入about:config
* 单击右键新建String类型
* 添加 browser.cache.disk.parent_directory 将值设为 /tmp
* 重启Firefox
Chrome
cd ~/.cache/google-chrome/Default/ && rm -rf Cache && ln -sf /tmp Cache
7.关于journal和noatime对SSD的影响,请参考TedTs'o大神的文章
SSD’s, Journaling, and noatime/relatime
8.通常安装硬盘和ssd之后,应尽量将ssd分一个分区,双系统分给自己最常用的系统,如果分给linux,就需要将grub安装到ssd设备上,才能保证成功引导.
linux下SSD优化来自于OenHan
链接为:https://oenhan.com/linux-ssd-optimization