javascript - Node 4 和 Node 6 的堆差异

标签 javascript node.js performance v8

我有一个 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/

相关文章:

javascript - Ajax 安全性和代码隐藏功能

mongodb - 如何在 Node.js 中使用 Mongoose 进行分页?

javascript - 如何从实际上是日期格式的数字总和中获取一位数字 (15-06-2015)

javascript - 如何在命令中设置 process.env 变量并在 webpack 文件中检索

performance - c++为类成员函数分配lambda函数以提高计算效率

sql-server - SQL 子查询还是 INNER-JOIN?

javascript - 从 PHP 服务器端脚本获取 JSON 数据并显示在下拉列表中

javascript - JS 淡入淡出效果不起作用(for 循环)

javascript - 如何用 crypto.getRandomValues() 替换 Math.random() 并保持相同的结果?

c++ - 为什么增加阵列对齐会降低性能?