Увеличить объем памяти для nodejs процесса
При запуске приложений можно столкнуться с ограничением памяти. Недавно мне пришлось запускать ng build --profile
и процесс падал с ошибкой JavaScript heap out of memory
:
<--- Last few GCs --->
[7588:000001825E1A3A50] 1174026 ms: Mark-sweep 1509.5 (1766.0) -> 1509.2 (1715.3) MB, 537.5 / 0.0 ms (average mu = 0.920, current mu = 0.000) last resort GC in old space requested
[7588:000001825E1A3A50] 1174670 ms: Mark-sweep 1509.2 (1715.3) -> 1508.9 (1687.0) MB, 644.6 / 0.1 ms (average mu = 0.837, current mu = 0.000) last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 00007FF6A720C81C]
Security context: 0x02b1451c08d1 <JSObject>
1: fromString(aka fromString) [000001E33EB3A5B1] [buffer.js:~438] [pc=00000040A5E5745A](this=0x02ed64c404b1 <undefined>,0x01d1a1e3aa41 <Very long string[236286472]>,0x001722de86d1 <String[#4]: utf8>)
2: from [0000001722DEFA89] [buffer.js:~300] [pc=00000040A5EEA0CF](this=0x02b230e498d9 <JSFunction Buffer (sfi = 0000001722DE66D1)>,0x01d1a1e3aa41 <Ver...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: 00007FF6A667D1EF napi_wrap+113103
2: 00007FF6A661CA66 v8::base::CPU::has_sse+64982
3: 00007FF6A661D8F3 v8::base::CPU::has_sse+68707
Для увеличения памяти надо запускать команду
node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --profile
Можно добавить package.json скрипты
"scripts": {
...
"build:max": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod",
...