Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

node - invalid array length

I'm using node v0.12.4. When I run the following code with node --max-old-space-size=8192 test.js it gives me the error FATAL ERROR: invalid array length Allocation failed - process out of memory

var a = new Array(200000000); console.log(a.length); 

However if I change the size to 300000000 I don't get any error. What's going on here? Is there some command line argument aside from --max-old-space-size I need to change?

like image 202
SpiderPig Avatar asked May 29 '15 03:05

SpiderPig


1 Answers

V8's heap size is limited to 1 GB for 64 bit and 512 for 32-bit machine, but Buffer objects exist largely outside the heap. you can expand the memory use up to 1.7 GB in 64-bit and ~1 GB in 32-bit machine. You can try this.

--max-old-space-size=3000  --trace-gc-verbose 

you can print the trace to know about the memory use.

like image 145
Vishnu Mishra Avatar answered Oct 08 '22 10:10

Vishnu Mishra