【问题标题】:Chrome extension high CPU load: how to profile?Chrome 扩展高 CPU 负载:如何配置文件?
【发布时间】:2013-04-20 13:47:30
【问题描述】:

我的 chrome 扩展程序由内容脚本、背景页面(非持久性)和浏览器操作组成。随机地,它开始像这样吃 CPU:

但是如何找到我的扩展程序的哪一部分占用了 CPU?是内容脚本、处理某些事件的后台页面还是浏览器操作中的 javascript 代码?

【问题讨论】:

  • 您没有共享任何代码,但您可能创建了一个无限递归循环,例如错误地使用了消息传递 API。
  • @RobW 是的,可能是这样。我已经分析了不占用 CPU 的扩展和占用 CPU 的扩展(相同的任务在十几个虚拟机中运行,其中一些扩展占用 CPU,而在一些虚拟机上 - 不是)。唯一的区别是chrome.Event.removeListener 具有 70% 的 CPU。

标签: google-chrome-extension


【解决方案1】:

内容脚本在选项卡的进程中运行。 背景页面、浏览器操作/页面操作弹出窗口和其他扩展程序页面在扩展程序的进程中运行。

您的后台页面可能正在消耗大量 CPU(如果该进程在关闭弹出窗口后仍然占用 CPU)。要查找原因,请open the developer tools for the background page,并启动profiling(请参阅CPU profiling)。

【讨论】:

  • 非常感谢。在接受您的回答之前,我可以再问几个关于正确分析的问题吗? :)
  • @EyeofHell CPU 分析功能非常简单,所以我认为您在阅读文档后会管理它(主要是带有几行解释的图片)。如果您遇到困难,请随时提出后续问题。
  • 再次感谢。我是否正确,为了分析background page,我需要选择Tools->Extensions,单击generate background page 并使用Profiles 选项卡?
猜你喜欢
  • 1970-01-01
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-09
  • 2012-05-14
  • 2015-06-11
相关资源
最近更新 更多