Я использую узел v0.12.4. Когда я запускаю следующий код с node --max-old-space-size=8192 test.js
он дает мне ошибку FATAL ERROR: invalid array length Allocation failed - process out of memory
node - недопустимая длина массива
var a = new Array(200000000);
console.log(a.length);
Однако если изменить размер, чтобы 300000000 я не получаю сообщение об ошибке. Что тут происходит? Есть ли аргумент командной строки, кроме --max-old-space-size
Мне нужно изменить?
Мое первое предположение заключалось в том, что первый размер был немного меньше самого большого 32-битного целого числа, а второй немного больше, но для него это слишком мало нулей. – Pointy
Интересно, что я действительно не могу воссоздать это в v0.10. v0.11 segfaults. – fny
Возможно, релевантно: [Node.js ограничение памяти для одного объекта] (http://stackoverflow.com/questions/25231808/node-js-heap-memory-limit-for-single-object) – jfriend00