gpt4 book ai didi

node.js - fatal error : CALL_AND_RETRY_LAST Allocation failed - process out of memory

转载 作者:IT老高 更新时间:2023-10-28 21:45:55 30 4
gpt4 key购买 nike

Node 版本为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 )
})

为了检查是否存在递归堆栈大小问题,我使用 --stack-size=60000 参数运行了下一个代码

var depth = 0;

(function recurse() {
// log at every 500 calls
(++depth % 500) || console.log(depth);
recurse();
})();

得到了

264500 
Segmentation fault

然后我运行的代码给了我 FATAL ERROR: CALL_AND_RETRY_LAST 分配失败 - 使用相同的 --stack-size=60000 参数处理内存不足并且没有得到段错误

所以我得出结论 CALL_AND_RETRY_LAST 与递归堆栈大小没有任何共同之处。

我该如何解决这个问题?我相信我的计算机上有足够的可用内存来成功完成这项任务。

stackoverflow 上有类似的问题,但这些问题都不是关于 CALL_AND_RETRY_LAST 这就是我创建单独问题的原因。

最佳答案

如果您查看来源:github/v8 ,似乎您尝试保留一个非常大的对象。根据我的经验,如果您尝试解析一个巨大的 JSON 对象,则会发生这种情况,但是当我尝试使用 JSON 和 node0.11.13 解析您的输出时,它就可以正常工作。

您不需要更多 --stack-size,您需要更多内存:--max_new_space_size 和/或 --max_old_space_size .

我能给你的唯一提示是尝试另一个 JSON 解析器和/或尝试将输入格式更改为 JSON 行而不是仅 JSON。

关于node.js - fatal error : CALL_AND_RETRY_LAST Allocation failed - process out of memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26094420/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com