【问题标题】:Why does my timeline show javascript memory leak, but heap snapshot does not?为什么我的时间线显示 javascript 内存泄漏,但堆快照没有?
【发布时间】:2017-12-04 14:11:35
【问题描述】:

打开一个页面 2 分钟并使用 Chrome 开发工具进行记录,我得到一个锯齿模式,但 JS 堆并没有恢复到原来的水平 - 相反,对于每次垃圾收集它都会保持高一点,直到它最终崩溃:

传统观点建议在一段时间内拍摄 2 个堆快照并比较它们以隔离问题。在堆快照之前,会自动进行垃圾收集。预期结果是堆快照编号 1 显示约 19 MB 堆的基线,快照 2 在 2 分钟后显示至少 22 MB。相反,快照 2 实际上显示 less

我现在应该怎么做才能找到泄漏点?

【问题讨论】:

    标签: javascript memory-leaks google-chrome-devtools


    【解决方案1】:

    这可能只是侥幸。尝试拍摄多个快照。比如,每 10 秒一次,十次。

    也试试Allocation TimelinesAllocation Profiles。分配时间线以实时图表显示分配内存的时间。配置文件向您展示了哪些函数分配的内存最多。

    【讨论】:

      猜你喜欢
      • 2013-01-06
      • 2016-01-10
      • 1970-01-01
      • 2011-03-05
      • 2011-02-01
      • 2011-10-22
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多