ヒープ領域が限界に近くて割り当てに失敗したらしい
Cloud Build で使われていたマシン
- デフォルトの
n1-standard-1
- https://cloud.google.com/compute/docs/machine-types/?hl=ja#n1_standard_machine_types
- メモリ 3.75Gb
- この領域をいっぱいに使ってるか? → そうでもなかった
-
node -e 'console.log(Math.floor(v8.getHeapStatistics().heap_size_limit/1024/1024))'
- このデフォルトは
1400
MB - なので、割当メモリを十分に使えていない可能性
- このデフォルトは
解決策
-
NODE_OPTIONS=--max-old-space-size=xxx
-
xxx
にメガバイト単位の数字を指定。 筆者は3072
と指定した
-
-
--max-old-space-size=xxx
- https://nodejs.org/docs/latest-v12.x/api/cli.html#cli_node_options_options
- ヒープの Old 領域をメガバイト単位で指定してあげる
- 注意として,ここで指定するのは Old 領域なのでNode.jsに実際に割り当てられるメモリサイズ==指定サイズ とはならない
- 指定サイズに New 領域を加算した値が実際に Node.js に割り当てられるメモリサイズになる
参考