Как увеличить память по умолчанию nodejs?

При запуске сервера экспортируется 2 ГБ (приблизительно) данных из mongodb в redis, а затем появляется ошибка как FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory.

Затем запустил сервер с помощью этой команды node --max-old-space-size=4076 server.js и отлично работает. Но нужно настроить в приложении nodejs так, чтобы сервер node всегда начинался с 4 ГБ памяти. Пожалуйста, помогите мне, как это исправить? Спасибо.

Ответ 1

node SomeScript.js - max-old-space-size = 8192

Ответ 2

один вариант: скрипты запуска npm

https://docs.npmjs.com/misc/scripts

Они добавляются в ваш пакет package.json в разделе "скрипты"

{
  //other package.json stuff

  "scripts":{
     "start": "node --max-old-space-size=4076 server.js"
  } 

}

затем запустить вызов npm start вместо ввода в node + args + точки выполнения.

Примечание: если вы назовете его чем-то другим, кроме запуска, npm run [yourScriptNameHere] будет командой для запуска

Это лучший вариант, чем попытка перенастроить node на использование 4gb по умолчанию (даже не знаю, возможно ли его tbh). Это делает вашу конфигурацию переносимой, используя запеченные методы в ее нынешнем виде и позволяет другим, кто сталкивается с вашим кодом в будущем, понять это, является необходимостью.

Ответ 3

Вы также можете установить NODE_OPTIONS при запуске сценария npm, а не самого node:

"scripts": {
  "start": "NODE_OPTIONS=--max-old-space-size=4096 serve",
},

Ответ 4

PM2

pm2 start index.js --node-args="--max_old_space_size=4096"

Ответ 5

Вот некоторые значения флага, чтобы добавить дополнительную информацию о том, как выделить больше памяти при запуске сервера вашего узла.

1 ГБ - 8 ГБ

#increase to 1gb
node --max-old-space-size=1024 index.js

#increase to 2gb
node --max-old-space-size=2048 index.js 

#increase to 3gb
node --max-old-space-size=3072 index.js

#increase to 4gb
node --max-old-space-size=4096 index.js

#increase to 5gb
node --max-old-space-size=5120 index.js

#increase to 6gb
node --max-old-space-size=6144 index.js

#increase to 7gb
node --max-old-space-size=7168 index.js

#increase to 8gb 
node --max-old-space-size=8192 index.js