|
|
尽管3.0版firefox有很大进步,但对于我这种firefox重度使用者(一般情况下20个以上的标签页),仍然是偏慢。在使用了TualatriX介绍的优化方法后,的确好转了很多。但在标签页间进行切换,仍然是会出现缓慢的现象。于是狠下心来,将主目录下的 .mozilla 目录搬到内存上,发现切换标签页缓慢的现象还真的消失了!使用了一个多月,现在我打开30个以上的标签页也不会再慢下来了,感觉非常好!
下面介绍如何将 Firefox 运行在内存上。注意:下面提到的 /tmp 目录是使用 tmpfs 挂载的,如何使用 tmpfs 可以浏览这篇介绍和这里,另外还有一句废话,你要有足够的内存……
首先将用户目录下的 .mozilla 目录备份,放到你喜欢的地方,例如放到 /var/local 下。推荐直接用tar打包,不要压缩,下面会说到好处,而放到 /var/local 下是为了配合下面的脚本。
- cd $HOME && tar -cpf mozilla.tar .mozilla/*
- mv mozilla.tar /var/local
复制代码
在 /tmp 目录下创建一个目录,用于存放 .mozilla 目录下的文件
然后将用户目录下的 .mozilla 目录链接到刚才创建的目录
- ln -sf /tmp/.mozilla $HOME/.mozilla
复制代码
解压刚才备份的tar包
- tar -xpf /var/local/mozilla.tar -C /tmp
复制代码
好了,现在打开 fireofx 看看,切换标签页的速度是不是有所提升了?我记得当时试验的效果是很明星的。如果你也满意,推荐用脚本直接在开机后就解压 tar 文件到 tmpfs 上,关机时就把 tmpfs 上的数据重新打包备份,多方便啊~。这时直接用tar打包的好处是,每当关机时不用等待压缩 .mozilla 目录的文件,我就曾经用7z压缩数据,那速度……
下面是我写的简陋自动脚本,能在 Archlinux 上使用,其他发行版可能需要稍加修改,我只有一个 Archlinux,没办法测试。
新建 /etc/rc.d/firefoxpro 文件,贴上下面的内容
- #!/bin/bash
-
- . /etc/rc.conf
- . /etc/rc.d/functions
-
- case $1 in
- start)
- stat_busy "Copying Firefox profile to tmpfs"
- if [ ! -d "/tmp/.mozilla" ];then
- mkdir /tmp/.mozilla
- cp /var/local/mozilla.tar /tmp
- tar -xpf /tmp/mozilla.tar -C /tmp
- mv /tmp/mozilla.tar /var/local/mozilla-old.tar
- chown clayton:users /tmp/.mozilla ###注意这里,需要将clayton改为你的用户名
- add_daemon firefoxpro
- stat_done
- else
- stat_fail
- fi
- ;;
- stop)
- stat_busy "Backuping Firefox profile from tmpfs"
- if [ -d "/tmp/.mozilla/firefox/njgmwi0t.default" ];then ###注意这里,要改为你的xxx.default目录名
- cd /tmp && tar -cpf /tmp/mozilla-new.tar .mozilla/*
- mv /tmp/mozilla-new.tar /var/local/mozilla.tar
- rm -r /tmp/.mozilla
- rm_daemon firefoxpro
- stat_done
- else
- stat_fail
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
- esac
- exit 0
复制代码
别忘了给于执行的权限
- chmod a+x /etc/rc.d/firefoxpro
复制代码
编辑 /etc/rc.conf ,把上面的脚本添加到 daemons 处,使其开机就执行
- DAEMONS=( … @firefoxpro …)
复制代码
ok,大功告成了。enjoy it 吧!
最后附上2个有用的小技巧。
1. 压缩 .mozilla 目录下的sqlite3数据库
首先把 firefox 关了,然后运行下面的命令,详见通过压缩数据库加速 Firefox
- for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done
复制代码
2. 分离 Firefox 的临时文件
Firefox 会在 .mozilla 目录下的 Cache 里存储一大堆浏览网页时的临时文件,这些文件基本上可以无需备份,那我们何必还要将这些临时文件打包进tar包里呢?而且还能减少打包的时间。首先打开 about:config ,将 browser.cache.disk.parent_directory 的值改为 /tmp,没有就新建一个。重启 Firefox ,浏览一些网页后你会发现 /tmp 下多了这个 Cache 目录,里面就是这些杂七杂八的临时文件。
谨以此文向所有Linux用户拜年~
祝大家新的一年里,身体健康,万事如意!
Happy 牛 Year!!
本文来自我的博客,链接:http://shareitem.org/archive/let-firefox-running-in-memory.html |
|