信息堆大小

时间:2014-01-20 16:00:59

标签: javascript heap-size

我可以从Chrome中的performance.memory对象获取哪些信息?
这些数字是什么意思? (他们是kb还是字符)
我可以从这些数字中学到什么?

performance.memory

的示例值
MemoryInfo {
  jsHeapSizeLimit: 793000000,
  usedJSHeapSize: 10000000,
  totalJSHeapSize: 31200000
}

2 个答案:

答案 0 :(得分:7)

  

我可以从Chrome中的performance.memory对象获取哪些信息?

属性名称应该是非常具有描述性的。

  

这些数字是什么意思? (他们是kb还是人物)

docs州:

  

值被量化为不公开私人信息   攻击者。

     

请参阅WebKit Patch了解量化值的公开方式。该   测试特别有助于解释它是如何工作的。

  

我可以从这些数字中学到什么?

您可以识别内存管理问题。有关如何在Gmail中使用performance.memory API,请参阅http://www.html5rocks.com/en/tutorials/memory/effectivemanagement/

答案 1 :(得分:2)

related API documentation没有说,但是根据你分享的数字以及我在机器上看到的数字判断我的读数是以字节为单位的值。

快速回顾一下Bergi链接的代码 - 关于被量化的值 - 似乎支持这一点 - 例如 float sizeOfNextBucket = 10000000.0; // First bucket size is roughly 10M.

量化的MemoryInfo属性主要用于监视与确定操作对内存的精确影响。前面提到的链接代码中的注释很好地解释了这一点:

86 // We quantize the sizes to make it more difficult for an attacker to see precise
87 // impact of operations on memory. The values are used for performance tuning,
88 // and hence don't need to be as refined when the value is large, so we threshold
89 // at a list of exponentially separated buckets.

基本上,随着它们变大,值变得越来越精确,但仍然足够精确地监视内存使用情况。