方法和属性
setFlagsFromString(string)
设置额外的 V8 命令行标志。请谨慎使用;在虚拟机已经开始后更改设置,可能会导致不可预知的行为,包括崩溃和数据丢失。或者,它可能什么也不做。
一个 Node.js 版本可用的 v8 选项可以通过 node --v8-options
确定。一个非官方的社区维护可选列表及其影响可以在 这里 找到。
用法:
// Print GC events to stdout for one minute.
const v8 = require('v8');
v8.setFlagsFromString('--trace_gc');
setTimeout(function() { v8.setFlagsFromString('--notrace_gc'); }, 60e3);
getHeapStatistics()
返回一个具有以下属性的对象:
{
total_heap_size: 7326976,
total_heap_size_executable: 4194304,
total_physical_size: 7326976,
total_available_size: 1152656,
used_heap_size: 3476208,
heap_size_limit: 1535115264
}
getHeapSpaceStatistics()
返回关于 V8 堆空间的统计,如,构成 v8 堆的片段。堆空间的秩序而不是堆空间的可用性,可以通过 V8 GetHeapSpaceStatistics
函数提供的统计得到保证。
结果举例:
[
{
"space_name": "new_space",
"space_size": 2063872,
"space_used_size": 951112,
"space_available_size": 80824,
"physical_space_size": 2063872
},
{
"space_name": "old_space",
"space_size": 3090560,
"space_used_size": 2493792,
"space_available_size": 0,
"physical_space_size": 3090560
},
{
"space_name": "code_space",
"space_size": 1260160,
"space_used_size": 644256,
"space_available_size": 960,
"physical_space_size": 1260160
},
{
"space_name": "map_space",
"space_size": 1094160,
"space_used_size": 201608,
"space_available_size": 0,
"physical_space_size": 1094160
},
{
"space_name": "large_object_space",
"space_size": 0,
"space_used_size": 0,
"space_available_size": 1490980608,
"physical_space_size": 0
}
]