红联Linux门户
Linux帮助

开RamDisk让你的浏览器飞快

发布时间:2016-09-19 10:43:04来源:ubuntukylin作者:chain2010
我的电脑是8GB内存,固态硬盘+机械硬盘,固态硬盘安装了win10+ubuntu,ubuntu只有 / 分区设在了固态硬盘上,/home,/usr等都设在了机械硬盘上,这天闲着无事,看了下各目录,一看/tmp下那么多文件临时文件,心疼啊,固态硬盘刷写次数就是生命啊,于是想把它搞到内存上,我的windows的系统temp全都是搞到内存上的。在win10上设置了Ramdisk了以后并把浏览器缓存定向到ramdisk,打开浏览器浏览网页都是刷刷的,到ubuntu上,这个浏览器速度就有点不习惯了,于是也想照windows上的办法,上网找了找,还真找到了,linux上跟win上有些不同,系统自己专门有一个目录是绝对用内存开辟的,就是/dev/shm,其实只要将浏览器的缓存位置定向到/dev/shm就可以了,我都不用firefox的,chrome是一个不错的选择,我在这里个大家推荐两个浏览器:360,QQ,百度浏览器之流速度与之比直接被秒成渣渣,本来就不卡ui还集成一大堆东东,废话多了,下面是介绍:
 
1.SWare iron,基于chrome源码编译,并去除了谷歌的监控代码。插件什么的都完全兼容,比较干净,连账户都没有加入,还是原来的谷歌账户。
官方网站:http://www.srware.net/,64位的要到它的论坛发布页面,网站下载的默认是32位的。
 
2.vivadi,这个浏览器我也是最近才发现的,opera前ceo新创公司开发的,这个一半chrome一半opera吧,这个目前感觉是最流畅的,连同步账户的功能都没有,不过其余的插件也与chrome兼容!
官方网站:https://vivaldi.com/
开RamDisk让你的浏览器飞快
我又把/tmp直接定向到ramdisk了,按照某贴的指导,写了一个脚本,开机自动绑定/tmp到/dev/shm,反正tmp里的内容又不需要留着,关机就没了。
我的ubuntu原生16.04,16.04里面的启动脚本有了一个新特性,就是能更加只能地设定启动顺序,贴出我的脚本:
下面的内容,保存为ramdisk_init.sh,复制到/etc/init.d,再建一个链接到/etc/rcS.d/,
ln -s ../init.d/ramdisk_init.sh ./S14ramdisk_init.sh
其中S14这个序号可以自己定,要看自己的系统当前目录下的序号,16.04已经能在脚本内识别启动顺序,16.04以下版本我不知道,如果不能像16.04这样识别启动顺序,那这个序号最好搞成S50,即:S50ramdisk_init.sh,按照原作者的说法,这个脚本必须在内核启动挂载分区完成以后,并且窗口服务启动之前,这两者中间启动较好,因为窗口服务启动就会用到/tmp了,而内核分区挂载没有完成的话就没有/dev/shm,所以要在两者之间启动,我这个只是随便找了下,并没有深挖到底最好在那个脚本之后启动,随便看了看,写了个在mountnfs-bootclean之后启动,x服务的启动开始没找到,而且mountnfs-bootclean启动之前我看/tmp也是被挂载了又清,又挂载又清,也没精力去细找,不过当前这个运行起来也没有出错,系统反应唰唰的,浏览器秒开。
注意,里面的注释### BEGIN INIT INFO,### END INIT INFO之间的就是启动顺序设置的,不要删了。
#!/bin/sh
### BEGIN INIT INFO
# Provides:          ramdisk_init
# Required-Start:    mountnfs-bootclean
# Required-Stop:
# Default-Start:     S
# Default-Stop:
# Short-Description: Ramdisk.
# Description:       bind /tmp to /dev/shm.  Note, it need to run after mountnfs-bootclean.sh.
### END INIT INFO
PATH=/sbin:/bin:/usr/bin:/usr/sbin
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
 
注:
1.经过改进,最终认为这样写比较好:
在mountkernfs之后,在x11-common之前,觉得这是最合适的时候了!
#!/bin/sh
### BEGIN INIT INFO
# Provides:          ramdisk_init
# Required-Start:    mountkernfs
# Required-Stop:     mountkernfs
# X-Start-Before:    x11-common
# Should-Start:      
# Default-Start:     S
# Default-Stop:
# Short-Description: Ramdisk init!
# Description:       bind /tmp to ram /shm.
### END INIT INFO
PATH=/sbin:/bin:/usr/bin:/usr/sbin
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
rm -rf /tmp/*
mount --bind /dev/shm/tmp /tmp
 
2.关于chrome的优化,在linux上就容易多了,我用的是iron和vivaldi浏览器,它们和chrome能接受的命令参数是一样的。
编辑这个文件:sudo gedit /usr/share/applications/iron.desktop,找到:
Exec=/usr/share/iron/iron
改成:
Exec=/usr/share/iron/iron --disk-cache-dir="/dev/shm/tmp" --disk-cache-size=268435456 %U
一个设置位置,一个设置大小,这样打开它的时候缓存就是/dev/shm/tmp里面去了。chrome也是一样的。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24291.html