node.js --max-old-space-size是否包含分叉进程?

jas*_*son 7 javascript linux v8 node.js

我正在努力解决node.js应用程序中的内存不足错误,并--max-old-space-size在启动时使用该参数node将大小设置为4096MB,最大值符合https://github.com/nodejs/node-v0.x -archive/wiki/FAQ(我找不到当前版本的node.js的simular文档).

我想知道的是,如果对单个node.js脚本使用的所有内容施加4096MB限制,或者每个进程是否分配4096MB?

换句话说,如果我fork()在脚本内部有其他进程,那么每个分叉进程是否可以使用4096MB,或者它们是否都使用相同的4096MB池进行绘制?

jim*_*kiz 10

我的团队有同样的问题,所以我们在我们的登台服务器上进行了测试.我们将本机节点cluster模块forever用作守护进程.

对于出现的每个分叉进程,htop我们可以看到--max-old-space-size传递的标志.每个子进程都有一个标志,包括稍后在应用程序中分叉的进程.

我们不需要通过cluster模块本身手动传递标志.

在此输入图像描述

  • “我相信我们当时进行的测试就是这种情况”是对非此即彼问题的肯定回答。 (4认同)