当我启动Firefox时,有一段时间没有任何问题,但是几天后,CPU峰值开始出现。在峰值期间,Firefox冻结,然后停止。尖峰每七到十秒钟发生一次,每个尖峰持续两到三秒钟。如果在出现尖峰时输入内容,则仅在尖峰之后才输出字符。我最初以为这个问题是由于Flash引起的,所以我禁用了它,但是问题仍然存在。
此外,几天后Firefox的内存使用量增加到600 MB以上。
我使用的Firefox插件和扩展列表在此处提供。
当我启动Firefox时,有一段时间没有任何问题,但是几天后,CPU峰值开始出现。在峰值期间,Firefox冻结,然后停止。尖峰每七到十秒钟发生一次,每个尖峰持续两到三秒钟。如果在出现尖峰时输入内容,则仅在尖峰之后才输出字符。我最初以为这个问题是由于Flash引起的,所以我禁用了它,但是问题仍然存在。
此外,几天后Firefox的内存使用量增加到600 MB以上。
我使用的Firefox插件和扩展列表在此处提供。
Answers:
我怀疑它是垃圾收集器还是自行车收集器。
在about:config
变化javascript.options.mem.log
到true
。现在,有关GC和CC的通知应该在错误控制台(Crtl+ Shift+ J)中可用。如果它们的时间和持续时间匹配器冻结了,那么这就是您的问题。
遇到此问题时,我通过销毁Firefox配置文件并从头开始创建新的配置文件来解决此问题。随着时间的流逝,Firefox配置文件趋向于收集大量杂物。
即使这不是一个完美的解决方案。如果您在Firefox(100+)中打开许多标签页或许多扩展程序,并使Firefox连续运行数天,则不可避免地会降低速度。您需要不时地重新启动Firefox。
如果您像我一样并且有收集大量选项卡的趋势,则需要在某个时候进行处理。我使用的另一个技巧是将其设置browser.sessionstore.max_concurrent_tabs
为0。这将阻止Firefox在启动时加载会话的所有选项卡。当您切换到它们时,它将加载它们。我发现,加上偶尔重新启动Firefox,大大减轻了拥有大量标签页的负担。
在中about:config
,设置browser.sessionstore.interval
为一个大数字(应为10,000
或15,000
;将其设置为左右600,000
)。
基本上,这是Firefox更新“保存的会话”的时间之间的毫秒数。如果您打开了许多标签,或者浏览历史很长(或者经常出现两种情况),那么这可能是sessionstore.js
每10或15秒将大量数据写入文件中,这可能会导致Flash视频无法播放短暂冻结,甚至每隔几分钟冻结整个计算机一次。
将此值设置为较大值的缺点是,如果Firefox崩溃,则在尝试还原时会丢失最后几分钟的浏览历史记录。我认为这是一个很小的代价。
您的CPU高峰应该变得不那么频繁了。
它本身无法修复内存泄漏。但是启用“在选择之前不加载选项卡”至少将不会在重新启动后单击这些选项卡时才加载这些选项卡,这会使内存减少。
我还发现使用CCleaner清理Firefox“会话”有所帮助。请先备份所有打开的选项卡,因为这会删除会话恢复信息。在运行CCleaner之前,我的sessionstore.js文件约为800 KB,但是此后减小到约6 KB。
有关会话存储的更多信息,请参见已解决:Firefox每10秒冻结一次,滚动为Jumpy。
卸载Flashblock解决了Firefox的CPU问题。也许Flashblock和Adblock Plus或其他一些扩展功能不兼容?
生命太短了,无法与Firefox混为一谈。我只是导出了书签,然后卸载了Firefox,然后删除了计算机上的所有Firefox文件夹,然后从头开始重新安装了Firefox,并还原了书签。现在,它比全新安装的Google Chrome浏览器运行速度更快。
这很难说。仅仅是引起这种情况的一般用途,还是您正在访问特定站点?(我们有一个问题,由于jQuery发生内存泄漏,浏览器会随着时间的推移获得内存)。
假设您使用的是Microsoft操作系统,则可以尝试使用Microsoft的Process Monitor工具。它会散发大量的消息,但是您应该能够将消息的范围缩小到“冻结”发生的时间间隔,并且也许可以查看是什么进程在进行阻止。