Ore*_*ren 5 memory memory-management v8 node.js ibm-cloud
我们的服务器在云PaaS(特别是Bluemix)上运行Node.JS.我们可以通过PaaS仪表板配置分配的内存量,但我注意到对于大于~1.4GB的值,您还需要使用该--max-old-space-size
选项执行节点(此处说明).
这意味着每当我想要更改已分配内存的大小时,我必须在设置中的两个位置更改它.
如果我打电话node --max-old-space-size 99999999999 app.js
会怎么样?Node.JS会尝试分配99999999999MB,还是会考虑运行它的VM\Container的实际内存限制?它是否会影响GC的行为(即如果它看起来有很多可用空间,那么GC运行的次数会少一些)?有--max-old-space-size use-machine-limits
选择吗?
谢谢
小智 5
如果我调用 node --max-old-space-size 99999999999 app.js 会发生什么?Node.JS 会尝试分配 99999999999MB,还是会考虑运行它的 VM\Container 的实际内存限制?
Node 不会分配所述内存,但它会尝试响应不断增长的内存需求,如果发生这种情况,在应用程序中 - 以合理的小块递增。
它是否会影响 GC 的行为(即,如果看起来有很多可用空间,则 GC 将运行更少的时间)?
是的,tenure 空间可能包含大量垃圾,并且取消分配的频率会降低。
是否有 --max-old-space-size use-machine-limits 选项?
老实说,我不知道 - 但如果我得到这方面的信息,我会对此进行研究,并在此处更新。
希望这可以帮助。