Увеличить объем памяти для 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",
  ...

Похожие записи

Angular dependency injection

Определение Provider (useClass, useValue, useFactory ), Injector. Декоратор @Inject, ключ multi: true

13 ноября 2018 г. в Angular