Chrome --enable-precise-memory-info 不起作用,并且 Performance.memory 仍然是分桶的

Ale*_*der 5 javascript google-chrome chromium google-chrome-devtools

我必须以编程方式测试 Windows 上 Chrome 中某些页面的内存使用情况。

这是我的 Chrome 版本(60.0.3112.113 - 官方版本 - 64 位) 在此输入图像描述

按照Chromium 命令行开关文档,我使用--enable-precise-memory-info以下标志运行 Chrome:

在此输入图像描述

然后在打开的 Chrome 实例中我尝试检查值window.performance.memory.usedJSHeapSize

但看起来尽管有--enable-precise-memory-info标志,但此信息仍然被存储在桶中。

在此输入图像描述

即使在 Chrome 任务管理器 (Shift + Esc) 中,我也发现每次执行以下命令后,内存使用量都会增加约 1 Mb:

for(let i=0;i<100000;i++) {a.push('sdftgkljhghertyukytedtreut56ytirty7uikty' +i)}
Run Code Online (Sandbox Code Playgroud)

我只发现了一个关于这个问题的过时的讨论,即使这个问题存在,我也希望在网上找到更多的讨论。

如果我做错了什么——我的错误是什么?

如果不再支持此标志,那么新的正确方法是什么?

谢谢你!

Ale*_*der 2

--enable-precise-memory-info我没有找到不起作用的原因,因此任何帮助都将受到赞赏。

与此同时,我甚至找到了另一种方法,并决定分享它。

我创建了一个 chrome 扩展,并chrome.processes.onUpdatedWithMemory在其 background.js 中添加了一个侦听器。

它为我提供了有关 chrome 进程的更新信息,包括内存使用情况(字段privateMemory),但此解决方案有两个问题

  1. 要使用 chrome.processes,我必须仅在开发通道上运行扩展。
  2. 以这种方式收集内存使用信息会导致额外的 CPU 使用