节点 4 和节点 6 的堆差异

Heap differences Node 4 and Node 6

我在 2 ubuntu 台裸机服务器上有一个 Express Web 应用程序 运行,在第三台服务器上平衡来自 nginx 的负载。

在第一台机器 (app1) 上,我有节点 v4.4.7。第二个 (app2) 最近升级为使用 node v6.3.0。自升级以来,app2 抛出如下错误:

FATAL ERROR: Scavenger: semi-space copy
 Allocation failed - process out of memory

和:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

在两个服务器中我都使用 --max-old-space-size=2048。 两台机器都有大量的 RAM,而且都使用不到一半。

问题是,从 v4 到 v6 有什么变化?是否有任何新的节点选项来增加堆大小?

正确的选项是--max_old_space_size。注意下划线而不是破折号。如果运行节点6,执行node --v8-options得到所有节点V8选项的列表。