工具:
node-inspector
pomelo-cli
chrome
步骤
- 通过pomelo-cli中的dump memory,导出当前服务器的内存堆栈文件:dump1.heapsnapshot。
- 服务器运行指定模块一段时间后,导出堆栈文件:dump2.heapsnapshot。
- 用chrome 读取堆栈文件:打开开发者工具->Profiles->Load->选择堆栈文件。先load 前面的dump1,再Load dump2。
- 在Profiles的左侧会有份文件列表,重点看两份的差异:选择dump2 -> 点击顶部栏搜索框左侧->选择Object Allocated between dump1 and dump2
- 查看每组内存占用。
- 分析内存占用最多的对象。js有大量匿名方法,目前没发现搜索内容的方法,只能搜方法名。所以只能自己一个个打开去看,才知道那是啥。。。囧(这个时候才发现方法命名真的很重要)
- 基本上先按大小排序,然后分析几个关键的大头,问题一般都在这。
时间: 2024-10-26 08:52:43