Chrome的任务管理器中“内存”和“内存占用”字段之间有什么区别?

时间:2018-02-11 20:52:43

标签: google-chrome google-chrome-devtools

我正在使用Chrome 64,并注意到Chrome的任务管理器上有两个名为“memory”的字段。见下图:

memory and memory footprint

我无法找到Chrome上这些字段之间差异的任何解释,没有可用的工具提示(至少不在macOS上)。 “记忆足迹”字段似乎是新的,因为我不记得在昨天之前看到它。

3 个答案:

答案 0 :(得分:7)

在Chrome中,内存列代表共享内存+专用内存。如果启用这两列并添加数字,则会发现它们与“内存”列匹配。在计算机的任务管理器或活动监视器中,您可以看到这些值与共享内存大小和专用内存大小相匹配。

“内存占用”列与“任务管理器”或“活动监视器”中进程的“内存”列报告的MB数相匹配。

Mac中的真实内存活动监视器映射到Unix中的RSS(驻留集大小)。以下链接解释了这一点。

https://forums.macrumors.com/threads/memory-vs-real-memory.1749505/#post-19295944

Mac的活动监视器上的内存列大致与专用内存大小相关,但似乎计算得稍微小一点。此列将与Chrome中的内存占用列匹配。

请注意,此答案引用了Mac,因为这是我目前正在使用的内容。对于Linux和Windows系统监视器和任务管理器,列名称和答案会略有变化。

答案 1 :(得分:4)

正如Josh指出的,它报告了consistent memory metrics

中描述的“私人记忆足迹”

答案 2 :(得分:1)

免责声明:我正在写这个答案,因为我做了一些测试和观察,因为我自己有这个问题,这是我通过Google搜索找到的唯一相关结果。这就是......

我正在将Chrome的任务管理器中的流程与Sysinternal的Process Explorer(针对Windows)中的流程进行比较。通过这样做,我发现Chrome中的“内存占用”与Process Explorer中显示的“Private Bytes”完全相同,完全适用于每个进程ID。

  

Private Bytes是进程分配给它的内存大小(但不一定是主动使用),不能与其他进程共享。

与Josh和Patrick的回答一致,内存占用代表完全为该过程保留的内存。

不幸的是,我无法就“记忆”具体代表什么得出结论。我希望它等同于“工作集”,但这与Process Explorer显示的不匹配。

事情也变得有些混乱......如果你右键点击Chrome的任务管理器中的列标题,你会看到另一个列可用,标题为“私有内存”。如果启用它,您将看到数字非常接近,但不完全匹配“内存”列中的数字(最多关闭200K)。 :|这是一个令人困惑的标题,因为我们已经确认了“内存占用”来表示私有内存占用。

我不知道“内存”和“私有内存”之间的微小区别是什么,但我推测可能其中一列或两列代表分配给 的进程的私有内存积极使用(与我上面给出的私有字节定义相反)。或者它可能是由于某种原因他们保留在那里的旧计算。我真的只是在这里猜测。

抱歉,我无法提供更多的帮助,但由于那里似乎没有答案,我想分享我能想出的东西,并希望能够激发对话,以便更有知识的人可以添加它。