node.js 能用多少内存?

偶然看到一个新近的讨论还在说 node.js 只能 1.x GB 内存,是因为 v8 引擎的 GC 在大内存下有问题什么的,觉得不太可能。于是写了个小程序:

var test = new Array(1024);

for ( let i = 0; i < 1024; i++  ){
   test[i] = new Array(1024);

   for ( let j = 0; j < 1024; j++  ){
     test[i][j] = new Array(1024);

     for ( let k = 0; k < 1024; k++  ){
       test[i][j][k] = i+j+k;
     }

   }

 }

 for (let l = 0; l < 1024; l++) {
   console.log("[%d][%d][%d]=%d", l,l,l, test[l][l][l]);
 }

在我的 MBP 上,这个需要 node --max-old-space-size=8574 t.js 才能跑起来。

顺便查了一下,早年确实有这个问题,不过 2011 年就已经修复了(https://bugs.chromium.org/p/v8/issues/detail?id=847)。TJ 自己就经常开个 15G 内存跑(https://twitter.com/tjholowaychuk/status/480753206301966336)。

你可能感兴趣的:(node.js 能用多少内存?)