利用 Chrome 的 Heap Snapshot 功能分析一个时间段内的内存占用率
![利用Chrome的Heap Snapshot功能分析一个时间段内的内存占用率](https://static001.geekbang.org/infoq/c6/c688a23378585d696ab856382abbd9e8.jpeg)
在下图测试代码第 13 行和第 16 行设断点. 以调试方式运行,首先断点在第 13 行处触发:
![](https://static001.geekbang.org/infoq/ff/ff63bddb092523df701dc5549a5c73ff.png)
打开 Chrome 开发者工具,点击 Profiles tab, 再点击按钮"Take Snapshot":
![](https://static001.geekbang.org/infoq/b1/b108771b61cd241fede548f808c30bca.png)
生成一个 Snapshot, ID 为 3:
![](https://static001.geekbang.org/infoq/0a/0a2a4932d6c57bde977901bd5de5d0e7.png)
继续以调试 mode 执行代码到第 16 行,点击按钮"Take heap snapshot"以生成第二个 snapshot。从下拉菜单里选择"Objects allocated between Snapshot 3 and Snapshot 4":
![](https://static001.geekbang.org/infoq/d4/d4cdcf8dfd07e2448ad906c18b5f1453.png)
在下图 Summary 里用变量名"arra"做 filter,即可找出在 snapshot3 和 snapshot4 之间内存占用最高的变量 arra:
![](https://static001.geekbang.org/infoq/ac/ac34c547af05600a4c7de82f777e8902.png)
将鼠标停留在 arra 上即可查看这个变量包含的内容:
![](https://static001.geekbang.org/infoq/2f/2f95f5a31f9420779ab3e232a41d9846.png)
![](https://static001.geekbang.org/infoq/84/846085483e9e64d90de1e6c65049e7f5.png)
要获取更多 Jerry 的原创技术文章,请关注公众号"汪子熙":
![](https://static001.geekbang.org/infoq/fa/fae13b7ea040389729f7c8dc699d1a97.png)
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/fa2c084d73eef00408734645f】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论