LEQ*_*ADA 4 memory garbage-collection node.js
据我了解,可以为这样的应用程序设置最大内存使用限制:
node --max_old_space_size=500 app.js
Run Code Online (Sandbox Code Playgroud)
是否可以max_old_space_size从代码中获取的值?
更新
在@GrégoryNEUT的帮助下,我们发现其中v8.getHeapStatistics()包含一个heap_size_limit看起来像我想要的字段。
但是我仍然不确定,因为我没有找到任何支持该理论的官方文档(或来自Node.js的一些代码)。
我也不明白为什么设置为MB后heap_size_limit变成557842432字节(557.8MB)max_old_space_size500
在Node.js v9.4.0文档中,您可以找到函数v8.getHeapStatistics(),该函数为您提供堆大小信息。
更新2019:Node.js v11.x文档
来自评论的LEQADA示例:
对于 max_old_space_size=500
heap_size_limit : 557842432
total_available_size : 548898944
对于 max_old_space_size=900
heap_size_limit : 977272832
total_available_size : 968329344

编辑:process.memoryUsage()不提供有关堆的最大大小的信息
在Node.js v9.4.0文档中,您可以找到函数process.memoryUsage(),该函数为您提供堆大小信息。
更新2019:Node.js v11.x文档