将Node.js内存使用限制为每个进程少于300MB

Ale*_*lls 7 memory process node.js

我们在单独的进程中运行测试,我们的一些测试套件包含20多个文件.我们如何限制(而不是增加)Node.js进程使用的内存量小于300MB?如果我们不限制内存,我们可以使用高达20x500MB,大约10GB,这是太多的内存.

我可以在网上找到一些关于增加内存的文章,但我找不到任何关于限制每个进程内存的内容.

具体来说,我们使用核心child_process模块​​来创建子进程,我想我们需要一些标志或arg传递给cp来指定各种内存上限.

Dze*_*nly 5

有用的链接:

nodejs减少v8垃圾收集器内存使用量

https://groups.google.com/forum/#!topic/nodejs/IYsQ_bXlzcg

https://www.quora.com/How-does-Node-js-do-memory-allocation

要考虑的选项:

-nouse空闲通知

代码中的-expose-gc + gc()函数.

-max岁的空间大小

-max-新的空间大小

--max半空间尺寸

此外,为了减少内存,可以使用更少的内存消耗算法,代码可以更加GC友好.本机C++模块也可以提供帮助,但可以通过一些valgrind彻底检查内存泄漏和错误.

此外,OS的引用可用于终止超出某些内存限制的进程.

我知道,如果没有一些有用的选项描述,这个答案就不那么有用了,但我现在还不太了解它们,所以这个"答案"只是一个方向.