据我了解,可以为这样的应用程序设置最大内存使用限制:

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=500heap_size_limit : 557842432total_available_size : 548898944
对于max_old_space_size=900heap_size_limit : 977272832total_available_size : 968329344
node.js - 如何从代码中获取max_old_space_size的值?-LMLPHP

编辑:process.memoryUsage()不提供有关堆的最大大小的信息

Node.js v9.4.0文档中,您可以找到函数process.memoryUsage(),该函数为您提供堆大小信息。

2019年更新:Node.js v11.x Documentation

node.js - 如何从代码中获取max_old_space_size的值?-LMLPHP

关于node.js - 如何从代码中获取max_old_space_size的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48190962/

10-15 01:37
查看更多