【发布时间】:2016-03-09 00:59:03
【问题描述】:
我们在单独的进程中运行测试,我们的一些测试套件包含 20 多个文件。我们如何将 Node.js 进程使用的内存量限制(而不是增加)小于 300MB?如果我们不限制内存,我们最多可以使用 20x500MB,大约是 10GB,这太多了。
我可以在网上找到一些关于增加内存的文章,但我找不到任何关于限制每个进程的内存的文章。
具体来说,我们正在使用核心 child_process 模块来创建子进程,我想我们需要一些标志或参数来传递给 cp 以指定各种内存上限。
【问题讨论】:
-
groups.google.com/forum/#!topic/nodejs/IYsQ_bXlzcg 包含这样一个短语:“2)使用 --max-old-space-size 标志设置内存限制更低或更高”。你试过这个参数吗?
-
实际上我看到了几种减少内存的方法:1)重写代码以使用更少的内存,以避免memleaks并更有效地使用GC,2)更频繁地使用GC(--max-old-space- size), 3) 设置操作系统的引号来杀死超过它们的进程。
-
我尝试了这个节点 --max_old_space_size=100 并且成功了,然后我尝试了节点 --max_old_space_size=10 并且成功了,然后我尝试了节点 --max_old_space_size=1 并且它被轰炸了,所以它似乎工作:)
-
好的,那我就根据自己的想法来做个回答吧,没那么有用,顺其自然吧:)