我在具有 8GB RAM 的 Linux 机器上部署了 NodeJS 应用程序,在进行负载测试时,节点应用程序消耗了高达 95% 的 Linux 内存,并且机器崩溃并需要重新启动系统。我检查了一下堆内存大约有30mb。所以,我不明白为什么内存使用量会增加,消耗了什么样的数据?
使用以下命令来检查实时内存使用情况,
top -o %MEM%
您的代码中的某个地方可能存在内存泄漏。一种可能在您的开发环境中处理/抑制但不在 Linux 中的情况。
一些让您走上正轨的建议:
如果它是一个网络应用程序,那么考虑用 go 编写。它具有非常高效的垃圾收集功能,并且经过了实际测试,但是如果您热衷于使用 js 进行开发,那么请考虑切换到 Bun。它比节点速度快并且具有高效的内存管理。希望这有帮助