Chrome使用此“GC事件”做什么?

时间:2013-03-25 03:32:32

标签: debugging google-chrome pageload

我正在从一个非常简单的网站获取以下时间表。 Chrome告诉我它通过GC清理了10MB,但我不知道它是怎么回事!任何有关这方面的见解将不胜感激。

GC Event

我认为可以让你扩展图像,但我猜不是 - 这是完整尺寸:http://i.imgur.com/FZJiGlH.png

1 个答案:

答案 0 :(得分:9)

这是我们可以查看的网站还是内部网站?我想看看。在谷歌开发者网页Memory Analysis 101上搜索时,我看到了下面的摘录:

  

对象大小

     

对象可以通过两种方式保存内存:直接由对象进行   本身,隐含地通过保持对其他对象的引用,和   从而防止它们被垃圾自动处理   收集器(简称GC)。

     

对象本身持有的内存大小称为浅   尺寸。典型的JavaScript对象为它们保留了一些内存   描述和存储直接值。

     

通常,只有数组和字符串才能具有明显的浅层大小。   但是,字符串通常在渲染器内存中有其主存储器,   在JavaScript堆上只暴露一个小的包装器对象。

     

然而,即使是一个小物体也可以容纳大量内存   间接地,通过阻止其他物体被处置   自动垃圾收集过程。将是的内存大小   删除对象本身及其依赖对象时释放   GC根无法访问,称为保留大小。

最后一点似乎可能是您的问题。

调查内存问题

如果您有意愿,可能需要启用此功能的Chrome chrome --enable-memory-info,并在幕后占据一席之地,看看Chrome可能会挂起来。

让Chrome运行并启用内存分析后,您将可以访问两个新属性:

window.performance.memory.totalJSHeapSize;  // currently used heap memory
window.performance.memory.usedJSHeapSize; // total heap memory

此功能详见here