Память Express или Node JS вызывает порождение ENOMEM - PullRequest
0 голосов
/ 15 июня 2019

Похоже, мой сервер экспресс выжимает всю память на моем сервере. Я только догадываюсь об этом. У меня есть процесс, который работает на:

node server.js

Это загружает сервер, получает некоторые данные с другого сервера и делает снимок экрана. Все работает и работает в течение дня или около того. Затем из ниоткуда, без изменений кода, он случайно начинает падать с этой ошибкой:

internal/child_process.js:366
    throw errnoException(err, 'spawn');
    ^

Error: spawn ENOMEM
    at ChildProcess.spawn (internal/child_process.js:366:11)
    at Object.spawn (child_process.js:551:9)

Первоначально у меня было 2 гигабайта памяти на моем сервере. Процесс будет работать и гораздо быстрее, это даст мне эту ошибку. Я увеличил объем памяти до 3-х концертов, и это продолжалось намного дольше, в течение дня, а затем снова начало происходить. Запустив проверку памяти в моем файле server.js, я получаю следующее:

{ rss: 30277632,
  heapTotal: 20168704,
  heapUsed: 12109848,
  external: 497984 }

Из моей командной строки я запускаю: free -m

             total       used       free     shared    buffers     cached
Mem:          3072       2223        848          3          0       1107
-/+ buffers/cache:       1115       1956
Swap:            0          0          0

Кто-то в другом посте предложил добавить подкачку памяти. К сожалению, на моем сервере это не представляется возможным.

Я предполагаю, что он сосет память до тех пор, пока не иссякнет, и я начинаю получать сообщение об ошибке Можно ли как-нибудь очистить кэш памяти от экспресса, чтобы очистить место? Я не слишком знаком с этим. Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...