工具:
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有大量匿名方法,目前没发现搜索内容的方法,只能搜方法名。所以只能自己一个个打开去看,才知道那是啥。。。囧(这个时候才发现方法命名真的很重要)
基本上先按大小排序,然后分析几个关键的大头,问题一般都在这。
转载于:https://blog.51cto.com/ericyu/1614324