确定Firefox中的哪个选项卡正在使用CPU资源?


273

当前的Firefox中有什么类似于Google Chrome中的任务管理器吗?(Shift+ Esc

有时会占用足够的CPU来使Firefox无法响应-但是有多个窗口,每个窗口都打开了大约十二个选项卡,反复试验会花费一些时间。


1
不,没有办法在本地执行此操作。我不会发布答案,因为可能会有一些第三方解决方案。
2011年

我是通过Google找到的,这是一个插件。addons.mozilla.org/zh-CN/firefox/addon/bartab ...使其(据说)该选项卡在您单击并积极查看它之前不会使用资源。从用户的评论来看,它可能无法完全如广告中所述,并且显然在firefox4中,这是没有插件的本机行为。如果您还没有,我个人会尝试ff4。
CreeDorofl 2011年

1
Firefox不会像Chrome那样对每个选项卡和插件使用单独的进程,因此没有理由像Chrome那样拥有任务管理器。
Synetech

@chris:是的,他们今年改成了更快的发布模型……
Tamara Wijsman

1
五年过去了,Firefox从未提供过类似的服务。鼓励有兴趣使用此功能的用户支持此功能请求
路易斯·德·索萨

Answers:


291

可以通过Firefox 64以后的about:performance页面来监视资源使用情况。页面经过Task Manager了重大改进,现在可以更详细地了解选项卡和附加组件的性能。

任务管理器


7
真好。但是,我有一个100%CPU“ Web Content”进程,此处未显示。
Matthias Urlichs

42

about:memory显示Firefox的内存使用情况详细信息。该页面上还有一个按钮,可让您最大程度地减少内存使用。


13
显然,这与CPU使用率并不相同,但是根据我的经验,它们经常是相关的。杀死最大的内存占用选项卡后,CPU使用率和延迟通常会明显下降。
peterflynn

13
Obviously it’s not the same as CPU usage, but in my experience they're very often correlated. @ytpete,则您经常访问一小部分网页,因为绝对没有理由将它们链接在一起。拥有一个1KB的网页非常简单,该网页具有无限循环的JavaScript,因此具有100%的CPU负载,而另一个具有100MB的图像却不使用CPU。
Synetech

9
about:memory shows Firefox's memory usage details. There's also a button on that page that allows you to minimize memory usage. 该页面是否包含CPU负载信息?如果不是,那么这与所提问题有什么关系?此“答案”应该是评论,而不是答案。
Synetech

3
@Synetech已经有很多年了,一个简单的JS无限循环将起很多作用:Firefox和大多数其他浏览器在几秒钟后发出“无响应脚本”消息,然后该循环被切断。
peterflynn

6
这对我来说很棒。虽然确实有一个小的Javascript循环可以在不使用内存的情况下进入CPU,但这并不是大多数网页脚本正在做的事情-它们正在进行远程调用,更新和操作DOM,被插件(如Flash)调用等。所有这些事情可能导致内存使用增加(尤其是在页面缓慢泄漏对象的情况下)。我找到了“罪魁祸首”选项卡,将其关闭,使用“最小化内存”按钮,并且Firefox运行流畅。再次感谢!
尼克

11

第一个可能的罪魁祸首是Flash。杀死Flash-现在。

然后可能是流氓的Javascript代码。Firefox的Java Deobfuscator扩展使您可以观看Java函数调用的数量:

这不是衡量CPU使用率的一种度量,而是一个足够接近的代理:找到具有大量调用数量的函数,您很可能会抓住罪魁祸首。


1
我没有安装Flash,也没有安装NoScript。即使我有两个具有8核和32 GB RAM的CPU,这在OSX上仍然会发生
混乱的理论2015年


4

通过使用现已被FlashStopperUnloadTab取代的FlashblockNevercrash,您可以大大阻止Flash或选项卡,从而防止CPU浪费而不是对其进行跟踪。这对于内存也成立了,但更少了。Flash,例如Youtube,除非单击它们,否则无法启动,因此您可以在多个选项卡中启动它们,并且它们等待您打开这些选项卡。选项卡从内存中被加载并空闲,直到您重新打开它们,然后它们从缓存中刷新(如果仍然可用)。 暂时关闭互联网也可以在您不需要互联网时使用;-)

Firefox对虚拟内存的碎片过多,以至于它占用了过多的实际内存(实际内存中有太多未使用的虚拟内存)。需要定期停止并重新启动具有相同页面的Firefox。这将对它的内存进行碎片整理,并且通过减少交换,整个系统将运行得更快。
在我的Ubuntu系统上,实际内存使用率缓慢上升到98%。然后是时候停止Firefox并重新启动它了:它将使用少于1MB的实际内存,而不是3MB。雷鸟也是如此。


您还可以使用中的内存清理按钮获得一些成功about:memory。我不知道它们是否会像重新启动Firefox一样有效。我很乐意对此进行一些研究。
joeytwiddle

谢谢。之前做过,再次做了,单击任何一个时,实际内存使用率保持在92%。<br/>关于Flashblock和Nevercrash,它们比我提到的要与Firefox 34不兼容。“您升级到最新版本了吗?” 永恒的问题。现在是Wavestopper和UnloadTab。相当兼容,但是UnloadTab现在可以意外地卸载选项卡,不需要显式的“选项卡卸载”(很好),而“重新加载选项卡”可以用作页面刷新(不太好,但是使用缓存)。当重新加载中断您要保留的页面状态时,可以设置“保持地址加载”。
2015年

感谢您的测试。:) <plug>我将自己的Hibernate Idle Tabs用户脚本与Greasemonkey一起使用。标签未使用数小时后,它将导航到一个浅色页面。可以通过其书签强制休眠。
joeytwiddle


3

下面回答另一个问题时可以帮助你。答案是由用户“赞扬”写的。

XUL Profiler是一个很棒的扩展,它可以指出扩展,并且客户端JS在CPU方面变得毫无用处。它不是基于每个选项卡的,而是每个脚本的(或如此)。通常,您可以手动将这些.js脚本与选项卡或扩展名相关联。

还值得一提的是,Google Chrome内置了一个非常好的任务管理器,可以为每个选项卡,扩展名和插件提供内存和CPU使用率。

让我在赞扬答案中添加更多信息。截至2012年1月,XUL Profiler的最新版本为1.0.4,于2008年12月发布。它仅被认证兼容Firefox 2.0-3.6。*。因此,它显然需要一个新的维护者。

我想知道是否有任何方法可以迫使扩展程序在较新的Firefox版本上运行。

另外,我想知道暂时降级Firefox是否可以很好地工作,以便将XUL Profiler与经过认证的兼容Firefox版本上的现有选项卡一起使用。


1

在这里,约20%的cpu并不是由about:performance占的。

about:debugging中关闭“启用附加组件调试”复选框,从而摆脱了这种额外的CPU使用情况。

关于:在上下文中调试“启用附加调试”复选框

您也可以在about:config中关闭此附加调试。将devtools.chrome.enabled或devtools.debugger.remote-enabled(或两者都启用)设置为关闭。

有关更多信息,请参见:调试-Firefox开发人员工具| MDN


0

您是否安装了Flashblock或NoScript?尤其是如果没有,我将尝试首先查看大量使用Flash的标签。我也看到很多eBay标签使Firefox停顿了,尽管这已经有一段时间了(当时我实际上在使用eBay)。


两者都是,还有广告屏蔽功能都可以。但是仍然有一些东西会定期使用CPU。
克里斯

然后,我的下一个想法就是您通过NoScript允许使用的JavaScript繁重的网站。
farhomehome,2011年

2
这确实应该是一个评论,因为它显然需要OP进行澄清。
Burgi'7

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.