为什么即使堆内存很低,节点应用程序也会消耗更多的内存?

问题描述

我在具有 8GB 内存的 Linux 机器上部署了一个 NodeJS 应用程序,而在进行负载测试时,节点应用程序消耗了高达 95% 的 Linux 内存并且机器崩溃并需要重新启动系统。我检查了大约 30mb 的堆内存。所以,我不明白为什么内存使用量在增加,消耗了什么样的数据?

使用以下命令查看实时内存使用情况,

top -o %MEM%

解决方法

您的代码中可能存在内存泄漏。一种可能在您的开发环境中处理/抑制但不在 Linux 中的。

让您走上正轨的一些建议:

  • 检查所有流是否已正确关闭。
  • 确保将不断增长的数组限制在合理的最大长度内。