Похоже, мой сервер экспресс выжимает всю память на моем сервере. Я только догадываюсь об этом. У меня есть процесс, который работает на:
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
Кто-то в другом посте предложил добавить подкачку памяти. К сожалению, на моем сервере это не представляется возможным.
Я предполагаю, что он сосет память до тех пор, пока не иссякнет, и я начинаю получать сообщение об ошибке Можно ли как-нибудь очистить кэш памяти от экспресса, чтобы очистить место? Я не слишком знаком с этим. Есть идеи?