【发布时间】:2011-11-13 12:20:37
【问题描述】:
我今天遇到了一个奇怪的问题。这对其他人来说可能是一个简单的答案,但它让我难住了。为什么下面的代码会导致内存错误?
var cur = 167772160;
var bcast = 184549375;
var addresses = [];
while (cur <= bcast){
cur += 1;
addresses.push(cur);
}
addresses.length
addresses // memory goes from a few megs to over a gig in seconds when trying to print this
我得到了这两个错误之一...第一个是当我在节点的解释器中运行此代码时,而后者是当我通过 nodeunit 运行它时:
致命错误:CALL_AND_RETRY_2 分配失败 - 进程内存不足
致命错误:JS 分配失败 - 进程内存不足
【问题讨论】:
-
对于那些感兴趣的人,我转而使用缓冲区。有限的成功。stackoverflow.com/questions/7379755/buffer-size-in-nodejs
标签: javascript node.js v8