据我了解,可以为这样的应用程序设置最大内存使用限制:
node --max_old_space_size=500 app.js
是否可以从代码中获取
max_old_space_size
的值?更新
在@GrégoryNEUT的帮助下,我们发现
v8.getHeapStatistics()
包含一个字段heap_size_limit
,看起来像我要查找的内容。但是,我仍然不确定,因为我没有找到任何支持该理论的官方文档(或来自Node.js的一些代码)。
当我将
heap_size_limit
设置为557842432
MB时,我也不明白为什么557.8
变成max_old_space_size
字节(500
MB) 最佳答案
在 Node.js v9.4.0文档中,您可以找到函数v8.getHeapStatistics(),该函数为您提供堆大小信息。
2019年更新:Node.js v11.x Documentation
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 Documentation
关于node.js - 如何从代码中获取max_old_space_size的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48190962/