Total Pageviews

Friday, 19 July 2013

让火狐在内存中运行

最近觉得火狐的速度有点慢,于是上网查了查有什么办法可以加快火狐的速度,于是找到了一篇文章,文章中介绍可以把火狐的缓存文件夹挂载到内存中,然后修改火狐的缓存位置,根据他的想法,我有了更好的想法,那就是让火狐彻底运行到内存中.

首先我们要用tmpfs创建一个文件夹,不过因为linux的多数发行版都会在fstab内预留了一个内存目录,挂载在/dev/shm,直接使用即可,/dev/shm针对所有的用户都能进行读写操作,又不用担心权限问题,所以可以不用创建.

这里我来说有一下我的想法:

我想让火狐运行在内存中,得这样才能实现,

1:首先把家目录下的.mozilla文件夹重命名成mozilla或者别的名字,反正就是不能使用原来的名称

2:然后复制到/dev/shm中,然后创建符号链接.mozilla到家目录,

3:然后每隔一段时间自动同步/dev/shm中的.mozilla文件夹内容到家目录下的mozilla文件夹中就可以了.

但是这些步骤中前面的问题都容易解决,但是按时同步文件内容就是一个比较麻烦了,后来在网上找了找,结果找到了一个介绍如何把火狐运行在内存中的博客文章,我很好奇,于是点进去看了一下,发现他的想法和我差不多.而且他也提供了脚本,于是我看了一下他的脚本,看看他是如何解决同步问题的,最后发现他是用rsync进行同步的,于是我使用了他的同步代码.

好了,废话不多说,现在贴出我的脚本:

1    #!/bin/bash
2    MOZHDD="${HOME}/.mozilla-hdd"
3    MOZTMPFS=/dev/shm/mozilla
4    INTERVAL=60
5    MOZHOME="${HOME}/.mozilla"
6    rsync -avi --delete "${MOZHDD}/" "${MOZTMPFS}/"
7    rm $MOZHOME
8    ln -s $MOZTMPFS $MOZHOME
9    ( while true; do sleep ${INTERVAL}; rsync -avi --delete "${MOZTMPFS}/" "${MOZHDD}/"; done; ) &
使用了这个脚本之后我发现火狐的速度的确快了一些,希望不是心理作用.

脚本同步代码借鉴于此篇文章:http://blog.csdn.net/wfing/article/details/5964288

ps:其实脚本的同步代码我不是很懂.