gpt4 book ai didi

javascript - nodejs中的缓冲区大小

转载 作者:搜寻专家 更新时间:2023-10-31 23:02:48 24 4
gpt4 key购买 nike

// Node v0.5.6//

我假设 nodejs 可以在 nodejs 堆之外分配的最大缓冲区大小受可用系统内存量的限制。虽然我有几 GB 的可用内存,但如果不使 Node 崩溃,我似乎无法接近该限制。

fatal error :JS 分配失败 - 进程内存不足

function bigArray(){
// each ip could be 10 digits long, therefore,
// 10 * (bcast-cur) = size of Buffer.
// does that also mean size in bytes?
var cur = 167772160;
var bcast = 184549375;
var addresses = new Buffer((bcast-cur)*10);
var offset = 0;
while (cur <= bcast){
cur += 1;
addresses.writeUInt32LE(cur,offset);
offset+=10;
}
return addresses;
};
var ba = bigArray();

它在这个 block 的 Node 库中的 Buffer.js 的第 235 行崩溃:

if (this.length > Buffer.poolSize) {
// Big buffer, just alloc one.
this.parent = new SlowBuffer(this.length); //crash here
this.offset = 0;

最佳答案

不幸的是,您收到的错误消息有点误导,但您遇到了缓冲区溢出错误。

您的循环将一直运行到 cu​​r == bcast,因此最后一个 writeUInt32LE 将写入一个超出缓冲区长度的数字。将循环比较更改为“cur < bcast”。

关于javascript - nodejs中的缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7379755/

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