Linux SSD 优化配置
Sep 14, 2014最近入了一块 SSD,顺便把系统换成了 Fedora 20,这里整理以下 Linux 下 SSD 优化的一些相关知识。
PS:台式机换乘笔记本,网页看视频啥的,各种卡啊,低配小本伤不起,万恶的 Flash。
调整挂载参数
编辑 /etc/fstab
,加入如下挂载参数
- btrfs: ssd, noatime
- ext4: noatime
至于其他的优化参数可以参考 btrfs wiki,料多了也不好,特别是硬盘上的,还是稳妥点,不要乱加了,我这就只加了 ssd,我的加完以后是这样的:
#
# /etc/fstab
# Created by anaconda on Fri Sep 12 20:48:12 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=772eae0d-7072-4613-83f4-7dee7473e8e4 / btrfs ssd,noatime,subvol=root 0 0
UUID=a20bebe6-9e98-4fc9-adf4-2223301a2ddc /boot ext4 noatime,defaults 1 2
UUID=772eae0d-7072-4613-83f4-7dee7473e8e4 /home btrfs ssd,noatime,subvol=home 0 0
UUID=45943224-e329-49d7-bce7-5ddc73d1be25 swap swap defaults 0 0
以上还未开启 TRIM 功能,后面会使用 crond 每周定时 TRIM,这样比加入参数 discard 更好一些,不用每次删个文件就 TRIM 一次。
将日志、临时文件、网页缓存等放入内存中
为了延长 ssd 寿命,尽量减少对 ssd 的频繁读写,就将日志,缓存,临时文件直接放到内存中。
注意,这一步,清先想一下是否要这么做,放到内存中重启可就没了哦。
1. 将日志和临时文件挂载到内存中
在 /etc/fstab
文件下加入以下内容
#SSD optimization, /var/log/ to RAM
none /var/log/ tmpfs size=10% 0 0
#SSD optimization, /tmp to RAM
none /tmp/ tmpfs size=10% 0 0
2. 强制 firefox 使用内存作为缓存
进入 about:config
(在地址栏输入回车就行了),确认“我保证会小心”。
- 找到
browser.cache.disk.enable
项,并将值设定值false
。这样就禁用了磁盘缓存。 - 确认
browser.cache.memory.enable
项值为ture
。保证内存缓存是开启的。 - 添加
browser.cache.memory.capacity
整数项,并设置值为-1
。确保只缓存需要缓存的内容。
使用 crond 开启定时 TRIM
1. 新建 TRIM 脚本,这里文件名为 trim.sh,内容如下
#!/bin/sh
# call fstrim to trim the specified device and write a log in user' s home directory.
LOG=/home/user/fstrim.log
set -e
echo "*** $(date -R) ***" >> $LOG
exec /sbin/fstrim -v / >>$LOG
这里的 user 修改为你的用户名,当然,如果你也可以将日志放在其他地方,请自行修改。
2. 赋予可执行权限并设置为每周执行一次
chmod +x trim.sh
sudo mv trim.sh /etc/cron.weekly/
要确定你的 cron 服务是开启的,在使用 systemd 的系统上使用此命令确认
systemctl status crond.service
# 如果没有开启使用以下命令开启
# systemctl start crond.service