相关疑难解决方法(0)

致命错误:CALL_AND_RETRY_LAST分配失败 - 处理内存不足

节点版本是 v0.11.13

崩溃期间的内存使用情况根据sudo top不提高3%

重现此错误的代码:

var request = require('request')
var nodedump = require('nodedump')

request.get("http://pubapi.cryptsy.com/api.php?method=marketdatav2",function(err,res)
{
    var data
    console.log( "Data received." );
    data = JSON.parse(res.body)
    console.log( "Data parsed."   );
    data = nodedump.dump(data)
    console.log( "Data dumped."   ); 
    console.log( data )
})
Run Code Online (Sandbox Code Playgroud)

要检查递归堆栈大小问题是否已使用--stack-size = 60000参数运行下一个代码

var depth = 0;

(function recurse() {
    // log at every 500 calls
    (++depth % 500) || console.log(depth);
    recurse();
})();
Run Code Online (Sandbox Code Playgroud)

并且有

264500 
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

然后我运行了代码,它给了我致命的错误:CALL_AND_RETRY_LAST分配失败 - 使用相同的--stack-size = 60000参数处理内存不足但没有得到Segmentation fault.

所以我总结CALL_AND_RETRY_LAST一下,递归堆栈大小并不常见. …

node.js

177
推荐指数
10
解决办法
18万
查看次数

标签 统计

node.js ×1