我正在解决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
模块本身手动传递标志。