我打开了 Firefox 和活动监视器,它显示 Firefox 占用了 65% 的 CPU。大约有 20 个选项卡打开。除了手动逐个关闭选项卡(我正在工作,不想这样做)之外,还有其他方法可以判断哪个选项卡导致 CPU 峰值吗?
我是否可以告诉 Firefox 在某个选项卡占用的 CPU 周期超过正常水平时通知我?我知道脚本执行对话框,并且很感激它,但这更多的是关于查找使用大量资源的页面。也许像选项卡中的标志一样,例如在选项卡中显示的音乐/视频正在播放图标。
答案1
我不知道有任何自动化的方法可以得到你想要的东西,但这可以作为一种手动方法。
在应用程序/实用程序中使用活动监视器。
任何 Web 浏览器都只会显示为一个 shell 应用程序,每个打开的页面都是一个子进程,因此如果您转到“查看”菜单并选择“所有进程,按层次结构”,然后单击“CPU”选项卡并按字母顺序对“进程名称”列进行排序,那么当您向下滚动到 Firefox 时,您将能够看到其所有子进程都缩进并快速分析哪个进程占用了最多的 CPU。
您应该能够根据其名称将其与特定选项卡绑定。
请注意,活动监视器中该部分的 CPU 使用率是“每个核心”的,因此 100% 表示“一个核心的全部”。您需要除以核心数(真实和虚拟),才能计算出任何单个进程的总体 CPU 百分比。
如果您不确定有多少个核心,最简单的方法是窗口菜单 > CPU 历史记录 [或 Cmd ⌘ 3 ],然后只需计算条带数。
显示 Safari 的示例...
[我没有 Firefox,但它应该非常相似]。
请注意,最后 2 个可见进程 SafariCloud... 和 SafariNotification... 不是子进程;因为它们与 Safari 本身一起回到了非缩进级别 [忽略小“乐高”图标,使用进程名称本身的左对齐来确定缩进。
另请注意,您可以通过窗口的标题栏检查您正在查看的视图类型。
示例核心数...
[如果您只看到 4 或 8,请不要感到惊讶,这是一台 12 核 + 超线程机器,因此显示 24]