我有一个 Express Web 应用程序在 2 台 ubuntu 裸机服务器上运行,平衡第三台服务器上 nginx 的负载。
在第一台机器 (app1) 上,我有 Node 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 发生了什么变化?是否有任何新的 Node 选项可以增加堆大小?
最佳答案
正确的选项是--max_old_space_size
。请注意下划线而不是破折号。如果运行 Node 6,请执行 node --v8-options
以获取所有 Node V8 选项的列表。
关于javascript - Node 4 和 Node 6 的堆差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38507966/