AWS EC2 Nodejs | НЕУСТРАНИМАЯ ОШИБКА: неэффективная отметка — сбой при выделении предела кучи — не хватает памяти JavaScript в проекте vuejs

#node.js #amazon-web-services

#node.js #amazon-web-services

Вопрос:

Я запускаю приложение nodejs на экземпляре AWS ec2 (t2.small). После того, как он проработает около недели. Ниже появляется ошибка нехватки памяти.Поиск по тем же проблемам обнаружил, что существует обходной путь для увеличения параметра «—max-old-space-size». Однако мой вопрос

  1. если я установлю —max-old-space-size = 4096(4 ГБ). Нужно ли мне обновлять экземпляр aws, чтобы получить больше памяти (поскольку у небольших типов есть только 2 ГБ памяти)
  2. Этот параметр размера max-old-space, наконец, он также повлияет на ограничение памяти? Вначале приложение работает нормально, но через некоторое время приложение отключается. Если это так, как эффективно решить эту проблему?

Полное сообщение об ошибке, как показано ниже:

<— Последние несколько GCS —>

[30600: 0x5007800] 429029005 мс: пометка-развертка 977.8 (1007.7) -> 970.6 (1008.9) МБ, 2379,3 / 0,5 мс (среднее значение mu = 0,220, текущее значение mu = 0,190) ошибка выделения, очистка может не увенчаться успехом [30600: 0x5007800] 429031937 мс: метка-развертка 979,0 (1008,9)-> 971,8 (1010,4) МБ, 2396,6 / 0,4 мс (среднее значение mu = 0,202, текущее значение mu = 0,183) ошибка выделения очистка может не увенчаться успехом

<— JS stacktrace —>

НЕУСТРАНИМАЯ ОШИБКА: ошибка неэффективного выделения метки, близкой к пределу кучи, — JavaScript не удалось выделить кучу памяти 1: 0xa02ec0 node::Abort() [узел] 2: 0x94e471 node::FatalError(char const *, char const *) [узел] 3: 0xb765de v8::Utils::ReportOOMFailure (v8 ::internal::Isolate *, char const *, bool) [узел] 4: 0xb76957 v8 ::internal:: V8::FatalProcessOutOfMemory(v8 ::internal:: Isolate *, char const *, bool) [узел] 5: 0xd311f5 [узел] 6: 0xd31d7f [узел] 7: 0xd3fe0b v8 :: internal ::Heap::CollectGarbage (v8 :: internal:: AllocationSpace, v8 ::internal::GarbageCollectionReason, v8 :: GCCallbackFlags) [узел] 8: 0xd439cc v8 ::internal::Heap :: AllocateRawWithRetryOrFailSlowPath(int, v8::внутренний::AllocationType, v8 ::internal::AllocationOrigin, v8::internal::AllocationAlignment) [нет de] 9: 0xd120ab v8 ::internal::Factory::NewFillerObject(int, bool, v8 ::internal::AllocationType, v8::internal::AllocationOrigin) [узел] 10: 0x105802f v8 ::internal::Runtime_AllocateInYoungGeneration(int, unsigned long *, v8 ::internal::Isolate *) [узел] 11: 0x13fdfd9 [узел] ./backend.sh : строка 6: 30600 Прерванный узел server.js

Спасибо за всю вашу помощь!