Chrome usedJSHeapSize属性

mwecs4sa  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(84)

首先,我在网上查了一下,发现它的记录相当糟糕。在我的代码中的某个地方,我有一个很大的内存泄漏,我试图跟踪,并在使用后:

window.performance.memory.usedJSHeapSize

它看起来像值保持在10MB的相同水平,这是不正确的,因为当我们比较值时,可以在这里看到:

chrome://memory-internals/

或者,如果我们在devTools中查看时间轴,我们可以看到很大的差异。有人遇到过类似的问题吗?我是否需要手动更新这些值(运行命令“update”、“measure”等?)
以下是本主题:Information heap size看起来这个值增加了一个特定的步骤,我们可以以某种方式看到它是什么或修改它?在我的情况下,从我现在可以看到的页面有大约10MB,30分钟后将有大约400MB,半小时后页面将崩溃。有什么想法吗?
(Why代码泄漏是另一个问题,请将此视为我试图使用此变量来创建某种测试)。

du7egjpx

du7egjpx1#

WebPlatform.org文档中有一节解释了这一点:
这些值被量化,以免将私人信息暴露给攻击者。如果Chrome使用--enable-precise-memory-info标志运行,则值不会量化。
https://webplatform.github.io/docs/apis/timing/properties/memory/
因此,默认情况下,该数字并不精确,并且每20分钟才更新一次!这应该可以解释为什么你的号码没有改变。如果使用标记,则数字将是精确的和当前的。
WebKit commit message解释说:
这个补丁增加了一个选项来暴露量化和速率受限的内存
信息到网页。网页只能每20年学习一次新数据
分钟,这有助于减轻攻击者比较两个
读取以提取侧信道信息。补丁也只
报告100个不同的内存值,这些值(与
限制)使得攻击者很难了解
内存使用。

相关问题