为什么 Firefox 每隔几秒就会导致高 CPU 使用率“峰值”?

Bor*_*_yo 9 memory firefox freeze performance cpu-usage

当我启动 Firefox 时,我有一段时间没有问题,但几天后,CPU 峰值开始出现。在峰值期间,Firefox 冻结然后停止。尖峰每七到十秒发生一次,每个尖峰持续两到三秒。如果我在出现尖峰时打字,则仅在尖峰之后输出字符。一开始以为是Flash的问题,所以禁用了,但是问题依旧。

此外,几天后 Firefox 的内存使用量增加到 600 MB 以上。

我使用的 Firefox 插件和扩展列表可以在这里找到

小智 9

about:config, 设置browser.sessionstore.interval为一个较大的数字(应该是10,00015,000; 将其设置为 about 600,000)。

基本上,这是 Firefox 更新“保存的会话”之间的毫秒数。如果你打开了很多标签,或者浏览历史很长(或者,我经常遇到这种情况,两者都有),这可能会sessionstore.js每 10 或 15 秒向文件写入大量数据,这可能导致 Flash 视频短暂冻结,甚至每隔几分钟就让整个计算机冻结。

将此值设置为较大数字的缺点是,如果 Firefox 崩溃,则在尝试恢复时会丢失最后几分钟的浏览历史记录。在我看来,这是一个很小的代价。

您的 CPU 峰值应该变得那么频繁了。

  • 我安装了会话管理器插件。它还可以节省会话以实现更好的管理和定制。如果 Firefox 和这个插件都更新会话导致高 CPU 使用率和崩溃怎么办?有没有办法禁用Firefox的会话更新功能并保留会话管理器? (2认同)

Mr *_*pha 8

我怀疑它是垃圾收集器或循环收集器。

about:config更改javascript.options.mem.logtrue. 现在关于GC和CC通知应该是在错误控制台中使用(Crtl+ Shift+ J),如果他们的时间和期限匹配冻结,那么这就是你的问题。

当我遇到这个问题时,我通过删除我的 Firefox 配置文件并从头开始创建一个新的来解决它。随着时间的推移,Firefox 配置文件倾向于收集大量数据。

即使这也不是一个完美的解决方案。如果您在 Firefox (100+) 中打开大量选项卡或大量扩展,并让 Firefox 连续运行数天,它不可避免地会变慢。您需要每隔一段时间重新启动 Firefox。

如果你像我一样有收集大量标签的倾向,你需要在某个时候处理一些我使用的另一个技巧是设置browser.sessionstore.max_concurrent_tabs为 0。这将阻止 Firefox 在启动时加载会话的所有标签。当您切换到它们时,它会加载它们。我发现这一点,加上偶尔重启 Firefox,大大减少了拥有大量标签的负载。

  • 有一个名为 BarTab 的 Firefox 插件。我认为它对 *browser.sessionstore.max_concurrent_tabs* 做同样的事情 (2认同)