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

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

我想知道的是,如果该单个node.js脚本使用的所有内容都强加了4096MB的限制,还是每个进程分配了4096MB?

换句话说,如果我在脚本中fork()额外的进程,每个分支进程是否可以使用4096MB,还是全部从同一个4096MB池中抽取?

我的团队有同样的问题,所以我们在临时服务器上测试了这个问题。 我们forever使用本地节点cluster模块作为守护进程。

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

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

在这里输入图像描述