限制 node.js 的内存使用

Posted

技术标签:

【中文标题】限制 node.js 的内存使用【英文标题】:Limiting node.js's memory usage 【发布时间】:2012-09-28 14:03:20 【问题描述】:

我正在尝试限制 node.js 应用程序使用大量内存,并且我发现了 V8 中可用的 --max-stack-size--max_executable_size 选项在调用文件时可以传递,但我应该如何结合这些和可能的其他参数来将最大内存使用量限制为 1GB?

【问题讨论】:

【参考方案1】:

现在,--max-old-space-size 没有技术限制...

例如node --max-old-space-size=8192 ./app。我们在 8Gb

中创建限制

【讨论】:

【参考方案2】:

https://github.com/joyent/node/wiki/FAQ

节点进程的内存限制是多少?

目前,默认情况下 v8 在 32 位上的内存限制为 512mb 系统,以及 1gb 在 64 位系统上。可以通过设置来提高限制 --max_old_space_size 最大为 ~1gb(32 位)和 ~1.7gb(64 位),但建议您拆分单个进程 如果你达到内存限制,可以分成几个工人。

我相信价值是以兆字节为单位的。

【讨论】:

节点 2 附近的默认限制增加到 ~1.5GB。请参阅 github.com/nodejs/node/issues/3370#issuecomment-148108323

以上是关于限制 node.js 的内存使用的主要内容,如果未能解决你的问题,请参考以下文章

Node内存限制与垃圾回收

深入浅出Node.js - 内存控制

在 node.js 中使用 createWriteStream 创建大文件时 JavaScript 堆内存不足致命错误:达到堆限制分配失败

Node.js(和 chrome V8)中的内存限制

Node的内存控制

深入理解Node.js垃圾回收与内存管理