这个问题在这里已有答案:
- 确定Firefox中哪个选项卡使用CPU资源? 10个答案
我的Firefox版本有一个失控的进程/线程,几分钟后它在我的MacBook Pro(OSX 10.7.4)上使用100%cpu。我试图使用about:memory
并about:addons-memory
试图找出导致问题的原因,但它似乎与内存使用完全没有关系。有没有办法通过标签或附加组件查看CPU使用情况?
这个问题在这里已有答案:
我的Firefox版本有一个失控的进程/线程,几分钟后它在我的MacBook Pro(OSX 10.7.4)上使用100%cpu。我试图使用about:memory
并about:addons-memory
试图找出导致问题的原因,但它似乎与内存使用完全没有关系。有没有办法通过标签或附加组件查看CPU使用情况?
Answers:
实际上,该about:memory
选项卡确实通过选项卡显示内存分配; 这只是有点难以理解。
当你去的时候about:memory
,你应该看到一个按层次排列的内存分配列表。列表中的第一个顶级项应为Explicit Allocations。在那下面是几个叶子节点。您正在寻找的是窗口对象。在此之下,标记为“顶部”的大多数节点都指向标签(如果您加载网站,您将看到“顶部”旁边的地址)。例如,我看到:
├───29.63 MB (15.27%) -- window-objects
│ ├──12.64 MB (06.52%) ++ top(chrome://browser/content/browser.xul, id=3)
│ ├───6.84 MB (03.53%) ++ top(http://www.cnn.com/, id=31)
│ ├───4.55 MB (02.35%) ++ top(https://ftp.mozilla.org/, id=24)
│ ├───3.50 MB (01.80%) ++ (5 tiny)
前面的数字是内存使用情况,也是Firefox总体内存使用量的百分比。
还会显示内存使用情况,但不会通过添加明确显示。您必须通过查找列表来搜索属于添加的所有组件并添加内存分配。
请注意,我在Beta频道上(目前使用的是Firefox 22.0b2),但我相信这适用于旧版本。
Measure
下面Show Memory Reports
以生成和查看您描述的树。(如果在所有平台上都相同,那么它可以使答案更加完整。)
Firefox中CPU使用率高的原因有多种,详见下文。
1.新增附件
CPU问题的常见原因是附加错误。第一个测试应该是在没有附加组件的情况下启动Firefox。
在Firefox窗口的顶部,单击Firefox按钮,转到“帮助”菜单并选择
Restart with Add-ons Disabled...
。Firefox将启动Firefox安全模式对话框。注意:您也可以在启动Firefox时按住Shift键以安全模式启动Firefox。您现在有两个选择:
单击“以安全模式启动”按钮将暂时禁用扩展和主题,关闭硬件加速并重置工具栏和按钮自定义。当您离开安全模式并正常启动Firefox时,您的分机,主题和设置将返回到您进入安全模式之前所处的状态。
如果在安全模式下您没有CPU问题,则问题在于您的某个加载项。您可以使用该菜单Tools > Add-ons
有选择地禁用加载项并重新启动Firefox,直到找到错误的加载项。
2.Flash
Flash因此类问题而闻名。修复它的常用方法之一是
使用“ 高级”选项卡菜单取消选中“ 禁用Firefox的硬件加速”。Tools > Options
Use Hardware Acceleration When Available
建议使用Adblock Plus和NoScript两个附加组件在您正在查看的页面上有选择地阻止不必要的元素,包括Flash。
3.JavaScript
您在其中一个选项卡中查看的网站中的JavaScript可能编码错误,并通过循环浪费CPU。
最好的解决方法是使用NoScript来避免从您不信任的网站执行JavaScript。这也是一种安全措施,任何人都应该使用它来避免 跨站点脚本攻击。
4.Profiling
如果不清楚哪个网站导致高CPU,可以在Firefox中使用性能分析,尽管这不是一个简单的练习。
同样进行性能分析的调试器是:
Tools > Web developer > Profiler
如果您是一名开发人员并且感觉像是一次冒险,并且因为您使用的是Mac,那么您可以使用DTrace, 如使用DTrace进行性能/优化JavaScript中所述,这是Mozilla开发人员使用的工具。
@claire:目前没有'简单'的方式,看看你想要什么。如果您采用harrymc的方式,您将找到有关问题根源的一些信息,但可能不确定。
如果你想采用'硬'的方式,这将显示你在firefox和/或它的插件中占用你的CPU,你需要在你的环境中开始调试你的firefox(有时它不仅仅是firefox和/或插件本身,但他们依赖的是一个腐败的lib。如果您对编程有所了解,这里有热门的完整解释。XCode可以从苹果免费下载:
https://developer.mozilla.org/en-US/docs/Debugging_on_Mac_OS_X
但是您不需要调试完整的Mozilla代码,但是您会发现与提高CPU使用率相关的点。这可以告诉你问题的确切位置(如此糟糕的循环等)。
如果由于某种原因你的Firefox占用并占用你所有的CPU使用量,那么你可以尝试限制no。处理器和CPU将为该进程提供的优先级,以减少CPU使用率。
为此,单击(Ctrl+ Alt+ Del)打开任务管理器,然后单击进程选项卡(显示所有进程及其扩展名的进程选项卡(基本上与您在Windows上的所有进程应该以.exe扩展名结尾)。右键单击在它上面并选择选择优先级来设置优先级(如果它设置为高于正常值然后将其设置为正常,否则如果它设置为正常并且您想要降低它而不是选择低于正常值的值)和设置亲和力以限制处理该进程的处理器数量。设置所需的处理器数量,然后单击“确定”返回。检查是否有效。
请记住,这仅适用于多处理器计算机(如双核,四核等),并且CPU使用率与内存使用情况不同。