为什么Node.js进程占用的内存超过了分配的内存。

4

有人能解释一下为什么我的Node.js进程占用的内存超过了分配的内存吗?

我给Nodejs进程分配了4G的内存(根据Nodejs文档,在64位机器上支持的最大内存),但我发现进程触及了5.6G的RSS内存(比我分配的4G高得多)

这是我运行该进程的方式:

node -max-old-space-size=4096 processName.js

这是我的TOP命令显示的内容(RSS @ 4.6g) enter image description here


1
我相信该设置仅影响v8堆,而不影响整个node.js进程。 - Joe
1个回答

6

max-old-space-size 控制着 node.js 解释器中用于存储 JavaScript 对象(有时称为 V8 堆)的一部分内存使用,而不是整个进程的全部内存使用。例如,max-old-space-size 完全与 node.js 的本地代码部分使用多少内存无关。

因此,总内存使用量可能始终大于 max-old-space-size


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接