Node: 对于超过 4032MB 的内存,getHeapStatistics 中的属性 heap_size_limit 不正确

创建于 2016-12-08  ·  1评论  ·  资料来源: nodejs/node

  • 版本:7.2.1
  • 平台:Linux 3.10.0-327.10.1.el7.x86_64 #1 SMP Tue Feb 16 17:03:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • 子系统:v8


当调用 v8 模块的 getHeapStatistics 函数时, heap_size_limit 属性对于设置超过 4GB 的内存大小不正确。 特别是如果您设置 max_old_space >= 4032,heap_size_limit 是不正确的。 重现:

节点 --max_old_space_size=3072

require('v8').getHeapStatistics().heap_size_limit
3288334336

这正如你所期望的,但看看 4096 做了什么:

节点 --max_old_space_size=4096

require('v8').getHeapStatistics().heap_size_limit
67108864

64 MB???? 那是不对的。 经过一些试验和错误,神奇的断点是 4032:

节点 --max_old_space_size=4032

require('v8').getHeapStatistics().heap_size_limit
0

当设置为 4092 时,堆大小为零。

这也发生在 Mac OS X 10.11.6 和 Node v5.11.0

V8 Engine process

最有用的评论

>所有评论

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

filipesilvaa picture filipesilvaa  ·  3评论

cong88 picture cong88  ·  3评论

ksushilmaurya picture ksushilmaurya  ·  3评论

mcollina picture mcollina  ·  3评论

vsemozhetbyt picture vsemozhetbyt  ·  3评论