2016-07-21 2 views
0

У меня есть экспресс-приложение, работающее на 2 ubuntu голых металлических серверах, балансировка нагрузки от nginx на третьем сервере.Разница кучи Узел 4 и узел 6

На первой машине (app1) у меня есть узел v4.4.7. Второй вариант (app2) был недавно обновлен для использования узла v6.3.0. После обновления, app2 бросает ошибки как:

FATAL ERROR: Scavenger: semi-space copy 
Allocation failed - process out of memory 

и:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 

В обоих серверах я использую --max-old-space-size=2048. Обе машины имеют огромное количество оперативной памяти, и обе используют меньше половины.

Вопрос в том, что изменилось с v4 на v6? Есть ли какой-либо новый узел для увеличения размера кучи?

+1

Когда процесс выходит из памяти подобным образом, ответ редко увеличивает память и часто просматривает код и выясняет, почему он использует столько памяти. – DrakaSAN

+0

Согласен. Но почему он использует столько памяти только на v6? –

+0

То, что я не могу сказать без единой строки кода, но хорошим началом будет любая функция, которая изменилась между v4 и v6 и хорошим отладчиком node.js. – DrakaSAN

ответ

1

Правильный вариант: --max_old_space_size. Обратите внимание на подчеркивание вместо тире. При запуске узла 6 выполните команду node --v8-options, чтобы получить список всех опций узла V8.

+0

Отвечала конкретно _Используется ли какой-либо новый узел для увеличения кучи размер?_ – CaptEmulation

Смежные вопросы