内存限制在Node.js(和铬V8)
在networking的很多地方,你会看到:
什么是节点进程的内存限制?
答案是:
目前,默认情况下,v8在32位系统上具有512mb的内存限制,在64位系统上具有1gb的内存限制。 通过将-max-old-space-size设置为最大值〜1GB(32位)和〜1.7GB(64位),可以提高限制,但build议您将单个进程拆分为多个工人如果你正在打内存限制。
有人可以确认这是情况,因为node.js似乎经常更新? * 更重要的是,在不久的将来会是这样吗? *
我想写的JavaScript代码,可能不得不处理4GB的JavaScript对象(速度可能不是问题)
如果我不能在节点上做,我最终会在java(在一个64位的机器上)做,但我宁愿不…
这对于一些使用Node.js的人来说是一个很大的担忧,并且有好消息。 V8的新的内存限制现在是64位的未知(未testing),并且在32位环境中提高到32位地址空间。
请阅读更多信息: http : //code.google.com/p/v8/issues/detail?id=847
我现在正在Ubuntu linux上运行一个proc,它有一个明确的内存泄漏,节点0.6.0正在推送8gb。 认为这是处理:)。
看起来像一个真实的。 当我尝试在缓冲区var buf = new Buffer(50*1024*1024);
分配50 MBstring时var buf = new Buffer(50*1024*1024);
致命错误FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory
。 我在进程监视器中修复了大约457 Mb的nodejs内存使用情况。
节点–max-old-space-size flag = chrome