javascript - Chrome --enable-precise-memory-info 不起作用并且 performance.memory 仍然是 bucketized

标签 javascript google-chrome google-chrome-devtools chromium

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

这是我的 Chrome 版本(60.0.3112.113 - 官方版本 - 64 位) enter image description here

正在关注 Chromium Command Line Switches Documentation我使用 --enable-precise-memory-info 标志运行 Chrome:

enter image description here

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

的值

但看起来尽管有 --enable-precise-memory-info 标记,但此信息仍被分桶。

enter image description here

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

for(let i=0;i<100000;i++) {a.push('sdftgkljhghertyukytedtreut56ytirty7uikty' +i)}

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

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

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

谢谢!

最佳答案

我没有找到 --enable-precise-memory-info 不起作用的原因,因此我们会提供任何帮助。

与此同时,我发现了另一种方法,我决定分享它。

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

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

  1. 要使用 chrome.processes,我必须在 Dev channel only 上运行扩展程序.
  2. 以这种方式收集内存使用信息会导致 extra CPU usage .

关于javascript - Chrome --enable-precise-memory-info 不起作用并且 performance.memory 仍然是 bucketized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46264685/

相关文章:

javascript - 语义 UI 事件

google-chrome - 如何禁用 -webkit-app-region : drag;?

selenium - 双破折号 (--) 在 Selenium ChromeOptions 中意味着什么

google-chrome - Chrome 控制台错误 - 如何查看错误发生的时间?

javascript - Angular Material 的垂直 slider 无法正常工作

javascript - 为什么nodejs事件循环在第一次运行后是不确定的?

javascript - 在 Javascript 中使用正则表达式替换字符串的一部分

javascript - 刷新前脚本在 Chrome 控制台中不可见,与 Firefox 配合良好

javascript - 如何强制 Chrome 调试工具以漂亮的代码进行调试?

javascript 在调试器中没有显示断线