更新:“哪个URL与每个Safari PID关联?”
这是有关在活动监视器中查看哪些Safari URL与哪些PID关联的主题的更新。我在Yosemite 10.10.3上使用Safari 8.0.6,并打开了Debug菜单,并打开了“在页面标题中显示PID”选项。(有关操作方法,请参见上文和下文。)
Nicolas B表示“我们仍然怀念相反的方式:“流程”>“选项卡”,指的是基于“活动监视器”中的单个行项PID查找选项卡名称的列表。
我可以向您展示如何查看与特定Web进程(PID)相关的所有选项卡,尽管它可能无法完全带来满足,因为:
- 这是一个多步骤的过程,并且
- 试图根据制表符在PID分配中查找逻辑似乎类似于读取茶叶。
还应该记住,在UI中列出与Activity Monitor中任何单个Web进程关联的所有页面URL并不可行,因为它已经存在。(但是我希望Apple的Safari团队将其添加到Web进程的信息窗口中!)
最初,我假定流程行项目上显示的名称是指该PID打开的最后一个完整页面(不包括缓存的页面),但是可惜情况并非如此。我不确定订单项的实际名称。在解释如何查看“活动监视器”中每个行项目与哪些选项卡相关的解释之后,我将分享实验结果以找到答案。
一步步
在Safari中打开“调试”菜单
启用选项以在页面标题中显示Web进程ID
(如上所述)
从Brett Terpstra的TabLinks获得这个出色的Safari扩展。
(如果您发现该插件有用,请捐赠给他!)
通过使用带有小链接图标的按钮运行扩展程序(通常在Safari的搜索/位置栏左侧)
在扩展名中,在用于显示结果的模板中添加一个分隔符(用于将来的搜索和替换工作)。
我插入了一个阴阳字符,所以我的模板是:[%w-%n]:☯%u☯%t
。这将为您[WP PID]
提供来自Safari调试信息的结果-包括每个选项卡名称末尾的信息。
将结果复制并粘贴到您喜欢的文本编辑器应用程序中。(Nisus Writer Pro是我的!)
搜索并替换分隔符(对我来说是a),然后将其替换为制表符(这里是一个:)
。
在上进行另一次搜索和替换[WP
,并用制表符仅替换单个前导空格«tab»[WP
。这将允许您将PID拆分为电子表格中的单独列。
将此文件另存为.tab
纯文本文件。
在电子表格应用程序中打开选项卡文件(我使用数字),并享受按PID排序的乐趣。现在只需要再走一步...
在“ 活动监视器”中,依次选择“ 视图▶︎所有过程”,然后将显示URL的行项目列表以及已经存在的选项卡名称和编号粘贴到电子表格中。
(您可以丢弃所有不需要的列数据,而仅将URL和PID保留在两列中;或者,也可以添加Memory列来比较RAM使用情况。)
而已; 并不十分快捷,但并不十分复杂。可能有一种更快的方法,但这是我第一次尝试获取此信息。
完成此操作后,您可能会发现与我相似的结果。我打开了9个窗口,共有36个选项卡,所有这些选项卡都包含在20个“ URL样式”进程中。
(注意:在这里,我没有包括很多QTKitServer和Safari Web Content进程。它们与大多数(如果不是全部)“ URL进程”同时运行。与主要的“ URL进程”相比,这些QTKitServer进程占用的内存很小”,例如4.5 MB与300 MB。)
观察结果
我有9个带有36个选项卡的窗口,在20个进程中运行
RAM使用总计5.4 GB(每个进程平均258 MB)
专用内存总计2.0 GB(每个进程平均97 MB)
任何单个过程行项目都可以包含一个或多个标签(我的每个PID通常具有一个或两个标签)
该行项目中的URL名称似乎没有遵循我可以辨别的任何模式,只是该名称通常(但并非总是)反映了分配给该PID的选项卡之一的基本URL
有时URL名称不正确!在我的20个进程中,有4个使用的URL在我的任何选项卡中均未打开。
(这些可能是缓存的页面吗?)
似乎以“随机”方式将新的选项卡(或窗口)分配给现有的PID或新的过程。它们既不是顺序的,也不是与任何特定窗口组合的;因此,具有多个选项卡的任何窗口都可以具有多个同时运行的PID。
现在就足够了!我希望有人比我聪明得多,并能多解释一点!阿罗哈