Предел размера кучи V8 - PullRequest
2 голосов
/ 29 мая 2020

У меня есть простой метод Node, который выделяет массив:

function allocateArray(size) {
    let arr = Array(size).fill('Hello World');

    console.log(`Array size: ${arr.length}`);
    console.log(v8.getHeapStatistics());
    console.log();
}

allocateArray(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 с аналогичными результатами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...