我整天都在使用 Mozilla Firefox 3.6,经常打开和关闭标签。我注意到随着时间的firefox.exe
推移,进程大小不断增长。
最初我将其归因于打开和关闭选项卡所导致的内存碎片,但现在我怀疑我安装的某个附加组件存在内存泄漏。
我看到的问题是,当任务管理器中“内存使用情况”统计中的进程大小达到约 1.5GB 时(并且经常达到这个水平),Firefox 就会冻结。
这些是我目前安装的附加组件:
- Adblock Plus(1.1.3)
- 英语(澳大利亚)词典(2.1.1)
- Gmail 通知程序(0.6.4.1)
- Google 阅读器观察者 (0.0.15.5)
- Java 控制台(6.0.11)
- Java 控制台(6.0.07)(不确定为什么我有 2 个版本)
- Java 快速入门 (1.0)
- 会话管理器(0.6.7.4)
其中是否存在已知的内存泄漏问题?
是否有其他原因导致了此问题?
答案1
我也有类似的症状,所以我开始随机禁用插件。最终,膨胀停止了(我相信是的After The Deadline
,但我可能错了。)
答案2
我认为,像 Firefox 这样的应用程序的主要问题是,其内存内容不断变化(由于打开和关闭页面、在打开这些页面时对 DOM 的更改、页面中的其他脚本活动、插件活动等),这是应用程序内存管理例程中的内存碎片以及更明显的泄漏。
我经常注意到这种情况(尽管 FF3.5/3.6 中这种情况比早期版本少见),因此我使用了许多简单的快速重启已安装附加组件。如果我当时有任何活动窗口和选项卡,Firefox 的会话管理器可以很好地重新打开所有窗口和选项卡。会话级 cookie 似乎也得到了保留,因此我仍能登录 Zimbra 和 Pivotal Tracker 等应用程序。
我从未遇到过 Firefox 锁定问题(如您所述),但它确实会变慢,因此有时在打开新标签或关闭旧标签时可能会暂停几秒钟。我认为这种不断增加的延迟是因为它需要更加努力地维护不断增长且越来越分散的内存分配结构。快速重启后,这个问题(以及使用的多余内存)会暂时解决(直到分配的内存再次增长,此时我再次重启)。
答案3
如果这是 Stackoverflow,我可能会向你推荐调试内存泄漏Mozilla 开发者 wiki 页面。我想你不会想那么麻烦。