2012-01-08 57 views
4

部署时,我的node.js应用程序遇到与内存有关的错误(即致命错误:CALL_AND_RETRY_0分配失败 - 进程内存不足)。我想在本地剖析我的节点,看看什么是吃掉内存,但不知道从哪里开始。什么是确定node.js中内存泄漏的好方法?

+2

这个问题在这里回答:http://stackoverflow.com/questions/4918557/调试-memory-leaks-with-node-js-server – 2012-01-08 17:42:48

+0

那里的答案(使用来自节点检查器的分析器)让我们使用标有“非常实验”的东西,而不是作者自己推荐的东西。 – Zugwalt 2012-01-10 20:35:19

回答

2

您可以使用node-inspectorv8-profiler来做到这一点。从NPM安装:

$ npm install v8-profiler 

,然后用它把堆快照(从说明服用):

var profiler = require('v8-profiler'); 
var snapshot = profiler.takeSnapshot([name])  //takes a heap snapshot 
+0

v8-profiler目前为我打破:https://github.com/dannycoates/v8-profiler/issues/9 – Zugwalt 2012-01-10 20:34:12

+0

但是,当它再次工作,这可能是最好的方式,谢谢! – Zugwalt 2012-01-17 15:42:41