在网络的许多地方,你会看到:
节点进程的内存限制是多少?
和答案:
目前,默认情况下,V8在32位系统上的内存限制为512mb,在64位系统上的内存限制为1GB。通过将--max-old-space-size设置为最大~1gb(32位)和~1.7gb(64位)可以提高限制,但建议您将单个进程分成几个工作程序如果你达到内存限制。
有人可以证实这是因为Node.js似乎经常更新吗?
更重要的是,在不久的将来会出现这种情况吗?
我想编写可能需要处理4gb javascript对象的JavaScript代码(速度可能不是问题)。
如果我不能在Node中做到这一点,我将最终在java(在64位机器上)做,但我宁愿不做。
对于一些使用Node.js的人来说这是一个很大的问题,并且有好消息。对于64位,V8的新内存限制现在是未知的(未经测试),并且在32位环境中可以提升到32位地址空间。
我现在正在Ubuntu linux上运行proc,它有明确的内存泄漏,节点0.6.0正在推动8gb。认为这是处理:)。
启动nodejs应用程序,堆内存为8 GB
node --max-old-space-size = 8192 app.js.
看起来像是真的。当我试图在缓冲区var buf = new Buffer(50*1024*1024);
中分配50 Mb字符串时,我得到致命错误FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory
。我在进程监视器中修复了大约457 Mb的nodejs内存使用量。