您的位置:首页 > 其它

解决Firefox内存占用不释放的问题

2009-12-22 21:19 465 查看
我的总结:
1. 地址栏输入 about:config ,右键新建布尔首选项 config.trim_on_minimize并设为true,重启FF之后才会生效
2. Win7下无效

转自:http://hi.baidu.com/teyqiu/blog/item/f4f43a8727fdf92dc65cc3d9.html

1、原因

见文章 http://wiki.sociz.com/@Firefox%E5%86%85%E5%AD%98%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

2.解决方法

引用
config.trim_on_minimize 赋值 true

(只在windows下有效)

设定后最小化时 内存占用不到5MB(虚拟内存占用不变),重新恢复时
内存占用也有一定程度的下降,大概20~30%的样子
估计是同时清了缓存而且几乎感觉不到性能的下降

3.参考
>> http://www.joecen.com/2007/05/18/firefox-metamorphosis-memory-footprint/

本文可自由转载,但请遵循“署名-非商业用途-保持一致” 的创作共用协议。 永久链接:JoeCen's 小猫窝
-----------------------------

今天发现,firefox居然占用了“271.1M”的内存!我晕~



一直以来,我都被firefox不自动释放内存困扰着。因为我的D600只有512M内存,而firefox一般用上一会就使用了7、80M,经常用到swapd。

之前在网上找过解决firefox内存占用的方法,最详细的 应该就是这个了“Firefox内存占用总结,Mozine论坛有关内存占用深入讨论 ”。上图也是安装了这篇文章所说的“cache status ”插件,而看到的。该插件有一个“清除缓存”的功能,但是我发现没有什么作用,清了之后在“任务管理器”中看到的占用内存数量还是没有改变。

今天出现了"274.1M"内存占用的事件后,我再仔细看了一次这篇文章。终于发现我遗漏了一些东西:

最小化之后的内存释放 通过如下设置可以在您所有的 FF 窗口最小化以后重新释放内存,注意:只在 windows 下有效。
about:config:
config.trim_on_minimize 赋值 true

这个setting我一直都是设置为true的,但是之前以为那个“cache status”插件是有用的,所以从来没有最小化过firefox。尝试打开“任务管理器”之后,最小化firefox。果然占用的内存有几十兆下降到了几兆,然后再慢慢向上爬升。

终于不需要再关闭firefox来清除其占用的内存了。。。不过,为什么firefox不自动释放这些无用的内存呢?那篇文章里面还有解释:

[b]哪些情况不属于内存溢出呢? [/b]


Firefox 的内存占用只升不降


当 Firefox 调用完内存之后会将它们释放到内存堆饯之中,尽管如此操作系统还是会报告这部分的内存仍在使用中,而实际上这部分内存并没有被占用,这种情况不应该归为内存泄露。

这种现象的一个显著特征就是内存不下降,一直走高,最后停留在一个恒定值。

载入图片时

当 Firefox 载入大量图片时会占用很多内存,这种情况也不属于内存溢出,因为这部分内存用完之后,Firefox 会将它们释放到内存堆饯之中。

也就是说,firefox用完内存之后,并不是没有释放内存,只是它是释放到内存堆栈中。。不过,在我的实际使用情况是,这些释放到内存堆栈的内存并不能被其它程序使用,反而会使用到虚拟内存(硬盘)。那和没有释放有啥区别呢!可能区别是在于,我最小化一下firefox,这些堆栈中的可用内存会真正释放出去吧~不过,何不干脆直接释放这些内存,还要我们手工来释放这么麻烦呢!

不知道开发人员怎么想的。我就差点为了这个事情要转用opera了,那其它比我更初级的用户呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: