|
Firefox 一直占用大量内存, 使系统不得不使用大量的 swap, 导致系统性能下降...
这些问题一直困扰我很久... 也抽了些时间来探索 Firefox 的优化, 与大家共同探讨一下.
一、配置级优化
1.1 减少内存占用
在 about:config 中进行如下设置:
browser.cache.memory.capacity 12288
browser.cache.memory.enable true
browser.history_expire_days 7
browser.sessionhistory.max_total_viewers 0
1.2 提高速度
1.2.1 禁用 pango
pango 是目前最慢的图形引擎 在 ~/.bash_profile 中加入:
export MOZ_DISABLE_PANGO=1
1.2.2 设置 about:config
network.dns.disableIPv6 true
network.http.max-connections 32
network.http.max-persistent-connections-per-server 4
network.http.max-persistent-connections-per-proxy 8
network.http.pipelining true
network.http.pipelining.maxrequests 8
network.http.proxy.pipelining true
二、编译级优化
在做完配置级的优化后, firefox 得到一定的优化, 但优化效果有限,还不能令人满意,于是开始尝试编译级优化...
2.1 优化编译参数
Fedora 已经对各硬件系统做了 CFLAGS 的优化设置, 在 /usr/lib/rpm/rpmrc 中, 例如 x86_64 的缺省设置是:
-O2 -g -m64 -mtune=generic
根据我的CPU类型, 我将其改为:
-march=k8 -msse3 -O2 -pipe
大家可以根据自己的 CPU 类型设置相应的优化编译参数.
2.2 获得 firefox 源码
yumdownloader --source firefox
2.3 安装源码
rpm -ivh firefox-2.0.0.10-2.fc7.src.rpm
2.4 修改 firefox 配置参数
配置参数在 /usr/src/redhat/SOURCES/firefox-mozconfig-branded
缺省是:
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-installer
ac_add_options --enable-xinerama
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --disable-xprint
ac_add_options --disable-strip
ac_add_options --enable-pango
ac_add_options --enable-system-cairo
ac_add_options --enable-svg
ac_add_options --enable-canvas
这个值得研究,也可以不改
2.5 编译 firefox
rpmbuild -ba firefox.spec --target=x86_64
根据你的CPU, 也许你需要 --target=i686
2.7 安装编译好的rpm
这个不用多说的...
三、代码级优化
配置级优化和编译级优化能达到一定的效果,但系统资源的占用还是不少。我还没有开始代码级的优化。。。这个会耗时不少。。。请有经验的朋友来发表意见。。。
(转载请注明出处) |
|