JS Heap推荐的内存大小

时间:2016-04-05 13:25:40

标签: javascript heap google-chrome-devtools

chrome内存配置文件中的堆大小是否有限制?

heap profile

2 个答案:

答案 0 :(得分:4)

注意:这是仅限Chrome的答案,请参阅以下原因。

您应该查看Chrome开发者工具中的window.performance.memory,其中有jsHeapSizeLimit个属性。 但是,我不确定这将是任何内存分析y轴的最大值

您可以在MDN上找到更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/performance

  

performance.memory

     
    

Chrome中添加了非标准扩展程序。

  

在MDN中关联:https://docs.webplatform.org/wiki/apis/timing/properties/memory

  

performance.memory:

     

注意:此属性为只读。

console.log(performance.memory)

// Would show, for example
//{
// jsHeapSizeLimit: 767557632,
// totalJSHeapSize: 58054528,
// usedJSHeapSize: 42930044
//}
     

注释

     

usedJsHeapSize是JS对象(包括V8内部对象)使用的内存总量,totalJsHeapSize是JS堆的当前大小,包括未被任何JS对象占用的可用空间。这意味着usedJsHeapSize不能大于totalJsHeapSize。请注意,并不一定存在有活动JS对象的totalJsHeapSize。

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

注意,没有单位表示数值,因为没有单位。这是因为webkit不希望公开系统信息,例如可用的内存大小。它只提供了一种比较内存使用情况的方法(对于两个不同版本的网站之间的实例)。

答案 1 :(得分:1)

理论上,内存限制(不是LocalStorage,而是实际内存)是无限的,并且只受系统上RAM数量的限制。实际上,大多数Web浏览器都会对每个窗口设置限制(例如,200MB)。有时,限制可由用户自定义。此外,操作系统可以限制应用程序使用的内存量。