您的位置:首页 > 其它

解决Firefox占用内存“过大”的问题(FireFox about:config介绍)

2009-11-18 08:51 801 查看
近几天总是感觉FireFox占用内存过大,看了启睿的一篇文章后菜知道firefox有个"about:config"(在firefox地址栏中输入about:config),搜索一番优化了一下FireFox,如释重负,火狐还真是个好东西!

这里简单介绍一下推荐做的几个优化的地方:

解决Firefox内存占用的问题

如果你使用过Firefox(中文名称:火狐),那么你对它的第一印象肯定是浏览速度非常快!因为它默认使用“先下载网页文字结构,然后再下载图片”的浏览方式,而IE则采用“网页文字和图片同时下载”的浏览方式。

不过当你把常用的插件(也称“扩展”)都安装上之后,你对Firefox的印象可能就会逐渐改观,原本轻巧的狐狸一下子变成了一只“饮食无节制”的肥狐!当你打开“Windows任务管理器”之后竟然发现它已经“吃”掉了300多MB内存……

狐狸为什么永远喂不饱?

原本资源占用极小的Firefox何以成为了内存占用的元凶呢?原来是恐怖的“内存泄露”!很多人都知道,在编写程序时,要为即将使用的数据分配一 块内存区域,然后将数据写入这块内存中,在不需要这些数据时,就把划分出去的内存区域给回收进“可分配内存”中,但有时因为程序编写的疏忽或者编译器本身 的错误(程序编写疏忽就相当于生产产品前设计图就有问题,而编译器本身的错误则相当于正确的设计图在有故障的机器上生产出了不合格的产品),导致划分出去 的内存区域没有被收回来,于是即便只是很小的“内存泄露”到最后也会造成系统资源的完全耗尽!由于Firefox在安装各种插件程序前并没有出现这么严重 的内存占用,所以我们判断:Firefox的内存泄露问题可能是插件造成的!在Mozilla官方和Firefox的技术论坛中,终于找到了所有会导致 Firefox过度内存占用的原因。

消灭致病的五大“病原体”

头号病原体:Adblock插件

致病原因:用惯了Maxthon的用户肯定会安装广告拦截插件,但是使用最广泛的广告拦截插件Adblock在Firefox 1.5版本中存在严重的内存泄露问题。

治疗方案:卸载Adblock,安装Adblock Plus并升级到最新版本。选择菜单“工具→扩展”,在弹出的“扩展”窗口中选择“Adblock 0.52.056”(版本号可能略有不同),点击“卸载”(见图1),完成后关闭Firefox再重新打开。

Adblock Plus链接:https://addons.mozilla.org/extensions/moreinfo.php?id=1865&application=firefox

二号病原体:Java

致病原因:旧版本的Java运行库导致Firefox内存占用严重。

治疗方案:Java用户请升级到Java Runtime Environment 1.5.0_06(或以上),另外在Java控制面板中关闭“Java控制台”也可以降低内存占用。

三号病原体:Adobe Reader

致病原因:旧版本的Adobe Reader占用了过多内存。

治疗方案:Adobe Reader 6.0/7.0都会占用大量内存,请升级到 Adobe Reader 7.0.5,如果在Firefox中禁用Adobe Reader插件也可以降低内存占用,但建议保留(否则每次都要下载才能看PDF文件实在不方便)。

四号病原体:固定大小的缓存

致病原因:Firefox默认划分出一块内存区域用于网页缓存。

治疗方案:默认状态下Firefox的缓存大小不是固定不变的,设置缓存占用的大小可以降低内存消耗,设置步骤如下:

在Firefox网页地址栏中打开“about:config”(不含引号)即进入Firefox高级设置状态(见图2),在高级设置列表中将 “browser.cache.memory.capacity”在这里根据自己的情况设置缓存大小(双击进入编辑状态),小内存的用户可以考虑将 “browser.cache.memory.enable”设置为False来完全禁用内存中的网页缓存,但这样会降低Firefox的速度。

五号病原体:快进快退

致病原因:快进快退为了保证速度而使用了一定的内存空间。

治疗方案:进入“about:config”的高级设置,将“browser.sessionhistory.max_total_viewers”设置为0。

小提示

我们还能对Firefox进一步优化来获得更小的内存占用,比如在高级设置中将“config.trim_on_minimize”设置为true能使Firefox在最小化时释放内存,安装NoScript插件禁用JavaScript可以节省脚本运行占用等。

about:config参数介绍

1、加入一个boolean(布尔)项:config.trim_on_minimize,并设置为true,这样就可以在最小化时自动释放内存。

2、修改browser.sessionhistory.max_total_viewers修改值为5或更小{页面快进/快退功能中保存的页面总数,默认是-1(无限)}。

3、创建一个browser.cache.memory.capacity设置firefox使用多少内存来进行缓存,默认值-1基于系统内存自动设置,18432=18MB一般适用于512M~1G内存。

4、browser.cache.memory.enable [布尔值]该项和browser.cache.memory.capacity联合起作用。如果设置为true,firefox将使用browser.cache.memory.capacity指定的内存大小来进行缓存。

5、browser.urlbar.clickSelectsAll [布尔值]决定在地址栏单击时是高亮选中还是插入光标。

6、browser.urlbar.hideGoButton [布尔值]决定是否显示地址栏右侧绿色的箭头(一般人都是敲回车的,这个实在是鸡肋)。

7、创建config.trim_on_minimize [布尔值](仅限于windows)决定是否象其它windows应用程序一样最小化到任务栏时释放内存,对于配置较低的电脑建议设置为true,配置还过的去的设置为false,这将加速firefox的最小化、最大化过程。

8、dom.disable_window_open_feature.* [布尔值]以dom.disable_window_open_feature. 开头的设置总共有11个,*可以是close, directories,location,menubar,minimizable,personalbar,resizable, scrollbars,status,titlebar,toolbar。这些设置控制弹出窗口(主要是广告)的显示元素,比如将 dom.disable_window_open_feature.close设置为true,则会强迫弹出窗口在右上角显示一个关闭按钮。建议将 close和resizeable设置为true。

9、dom.popup_maximum [整数]能够同时打开的弹出窗口的数目。经常有一些恶意站点会冒出一大堆弹出窗口,直到屏幕崩溃为止。建议将该值设置为5或更小。

10、extensions.dss.enabled [布尔值]决定是否能够动态主题切换。假如设置为true,在安装或切换主题时,将立刻显现出新主题的效果,而不用关闭firefox后重新引导firefox。

11、network.cookie.cookieBehavior [整数]决定firefox处理cookies的政策。设置为1允许所有的cookies,设置为2禁止所有的cookies,设置为1仅允许原始站点的cookies,不允许第三方(大多是广告)的cookies。建议设置为1。

12、network.dnsCacheEntries [整数](需创建)决定在firefox的DNS缓存中保存条目的数目。当在 firefox中键入一个web地址时,它通过查询DNS服务器将web地址转化为IP,在当地缓存中保存一定数量的DNS条目,下次再键入同样的web 地址时,就能加快浏览速度。默认firefox将该值设置为20,建议将该值设置为一般情况浏览web站点的数目。

13、network.dnsCacheExpiration [整数](需创建)决定缓存的DNS条目过期的时间。默认为60秒。

14、network.http.max-connections [整数]决定同时能够打开多少http连接。默认值是24,如果你的网络连接够快,可以尝试增大此值,最大值为65535。但要注意的是,增大该值仅仅增大了同时打开http连接数目的可能,你并不能强迫firefox每次都打开那么多的http连接。

15、network.http.max-connections-per-server [整数]决定在单个服务器能够同时打开的连接数。默认值为8,你可以增大此值来加快浏览速度,最大值为255。但要注意的是,此值改的太大,一些服务器会 认为你在进行DDoS攻击,从而拒绝你的连接请求。事实上,如果所有的firefox用户都不理智的把此值改的太大,大多数站点的浏览速度不会得到提升, 反而会非常慢。

16、network.http.max-persistent-connections-per-proxy [整数]假如你使用的是代理,该值决定同时有多少连接处于活动状态。默认值为4,可以适当增大此值加快浏览速度。但要注意的是,此值改的太大,会增大代理服务器的压力,从而影响每个使用该代理的用户的浏览速度。

17、network.http.max-persistent-connections-per-server [整数]假如没有使用代理,该值决定在单个服务器上同时有多少连接处于活动状态。默认值为2,可以适当增大此值加快浏览速度,最大值为255。但要注意的是,此值改的太大会增大服务器的压力,从而有可能被该服务器拒绝连接请求。

18、network.http.pipelining [布尔值]决定是否使用HTTP Pipelining特性,建议设置为true,加快浏览速度,尽管该特性不是所有的服务器和代理都支持。

19、network.http.pipelining.maxrequests [整数]决定使用HTTP Pipelining特性时发送的最大连接请求。默认值为4,最大值为8,比8大的值会被忽略,1表示不使用HTTP Pipelining特性,建议将该值设置为8。

20、network.http.proxy.pipelining [布尔值]决定是否在使用代理时使用HTTP Pipelining特性。建议设置为true,要注意的是,该值有效的前提是network.http.proxy.keep-alive值为true。

21、network.http.redirection-limit [整数]决定接受多少连续的重定向。比如说你进入一个站点旧的网址,可能会被重定向到一个新的网址,这叫一个重定向。

22、network.prefetch-next [布尔值]决定是否使用Link Prefetching特性。建议设置为false。

23、nglayout.initialpaint.delay [整数](需创建)决定在显示页面内容时等待多少毫秒。适当的延迟可以让firefox引导和调整各种各样的页面元素以便正确显示。默认值是250毫秒,你可以增大或减小该值,当然,这取决于你的浏览习惯。

24、plugin.default_plugin_disabled [布尔值]当浏览某个网页缺少某个插件(比如flash)时是否提示安装。

25、privacy.popups.disable_from_plugins [整数]设置为0不阻止任何弹出窗口,设置为1阻止弹出窗口的最大数目取决于dom.popup_maximum,设置为3阻止所有的弹出窗口,设置为2仅阻止来自插件的弹出窗口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: