为什么NodeJS堆空间统计不准确?

时间:2018-04-18 13:30:52

标签: node.js v8

在调试nodejs内存问题时,我注意到NodeJS堆空间统计数据永远不准确,同时查看单个空间但这些是准确的,同时总计总数。

v8.getHeapSpaceStatistics()
spaces = [ { space_name: 'new_space',
    space_size: 1048576,
    space_used_size: 462400,
    space_available_size: 569280,
    physical_space_size: 1048576 },
  { space_name: 'old_space',
    space_size: 4149248,
    space_used_size: 3535424,
    space_available_size: 297952,
    physical_space_size: 4149248 },
  { space_name: 'code_space',
    space_size: 3145728,
    space_used_size: 1284352,
    space_available_size: 128,
    physical_space_size: 3145728 },
  { space_name: 'map_space',
    space_size: 1126400,
    space_used_size: 258984,
    space_available_size: 0,
    physical_space_size: 1126400 },
  { space_name: 'large_object_space',
    space_size: 0,
    space_used_size: 0,
    space_available_size: 1487879680,
    physical_space_size: 0 } ]

如果我们匹配单个空格space_available_size + space_used_size的数字,则它永远不会等于space_size

但是,如果我们对所有空格总结space_size并将其与v8.getHeapStatistics().total_heap_size进行核对,结果是准确匹配。

有没有人知道为什么单个空格数永远不匹配?

0 个答案:

没有答案