Javascript V8堆大小限制
我有一个分配数组的简单节点方法:Javascript V8堆大小限制,javascript,node.js,v8,Javascript,Node.js,V8,我有一个分配数组的简单节点方法: 函数分配器阵列(大小){ 设arr=Array(size).fill('helloworld'); log(`Array size:${arr.length}`); log(v8.getHeapStatistics()); console.log(); } 分配环(1e7); 当我使用命令node--max heap size=16 test.js运行脚本时,我会看到以下堆统计信息,似乎使用的堆大小远远高于堆大小限制: Array size: 10000000
函数分配器阵列(大小){
设arr=Array(size).fill('helloworld');
log(`Array size:${arr.length}`);
log(v8.getHeapStatistics());
console.log();
}
分配环(1e7);
当我使用命令node--max heap size=16 test.js运行脚本时,我会看到以下堆统计信息,似乎使用的堆大小远远高于堆大小限制:
Array size: 10000000
{
total_heap_size: 85463040,
total_heap_size_executable: 524288,
total_physical_size: 84758848,
total_available_size: 2217024,
used_heap_size: 82159392,
heap_size_limit: 16777216,
malloced_memory: 16384,
peak_malloced_memory: 418144,
does_zap_garbage: 0,
number_of_native_contexts: 1,
number_of_detached_contexts: 0
}
这怎么可能
注意:我也尝试过使用--max old space size
运行,结果类似
在哪里可以找到--最大堆大小的文档?我在中没有看到它。它在V8文档中,如果您运行节点--V8选项
您也可以看到它。