【问题标题】:What's the difference between "memory" and "memory footprint" fields on Chrome's task manager?Chrome 任务管理器上的“内存”和“内存占用”字段有什么区别?
【发布时间】:2018-04-21 01:04:14
【问题描述】:

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

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

【问题讨论】:

标签: google-chrome google-chrome-devtools


【解决方案1】:

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

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

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

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

Mac 活动监视器上的内存列与私有内存大小大致相关,但它似乎计算得稍微小一些。此列将与 Chrome 中的 Memory Footprint 列匹配。

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

【讨论】:

    【解决方案2】:

    正如 Josh 所指出的,它报告了 consistent memory metrics 中所述的“私有内存足迹”

    【讨论】:

    • 我还没有接受这个答案,因为它解释了 new 字段而不是它们之间的区别
    【解决方案3】:

    免责声明:我在做一些测试和观察时写下这个答案,因为我自己也有这个问题,这是我通过谷歌搜索找到的唯一相关结果。来了……


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

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

    因此,根据 Josh 和 Patrick 的回答,内存占用表示完全为该进程保留的内存。

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

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

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


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-10
      • 2020-04-04
      • 2012-12-30
      • 1970-01-01
      • 2018-01-23
      • 2013-01-22
      • 2017-01-19
      • 2018-01-16
      相关资源
      最近更新 更多