今天我遇到一個奇怪的問題。這對其他人來說可能是一個簡單的答案,但它讓我難倒了。爲什麼下面的代碼會導致內存錯誤?nodejs內存不足
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分配失敗 - 加工出來的內存
對於那些有興趣,我切換到使用緩衝液。有限的成功.http://stackoverflow.com/questions/7379755/buffer-size-in-nodejs –