Подтвердить что ты не робот

Node.js 0.12.x использование памяти

Пытаясь обновить мое приложение от node 0.10.x до node 0.12.x, я был поражен неприятным сюрпризом: 0.12 использует примерно на 15% -20% больше ОЗУ, чем 0,10.

Судя по немногим темам на странице проблем io.js, кажется, что ошибка связана с базовый двигатель v8.

Теперь обновление программного обеспечения представляет собой сложное предложение продать управление, как оно есть. Добавьте к этому необходимость платить за большее количество оборудования VPS с небольшим количеством видимых преимуществ, и это становится для нас прерывателем сделки.

Есть ли способ отключить все новые звонки и свистки v8, которые добавили дополнительную память? Возможно, рекламируемый материал для профилирования процессора?

В основном я ищу переключатель v8, который может уменьшить использование памяти до уровня, сопоставимого с v8, поставляемого с node 0.10.

4b9b3361

Ответ 1

Вы можете ограничить объем памяти, используемый вашим Node.js процессом с помощью --max-old-space-size. Возможно, вы можете ограничить память на что-то приемлемое, а затем проверить свое приложение, чтобы убедиться, что оно работает приемлемо.

node --max-old-space-size=512 myScript.js

Я считаю, что есть также флаги, которые контролируют сбор мусора, который может стоить изучить. И этот вопрос GitHub о профилировании производительности v8 и т.д. может также стоить ваше время.

Ответ 2

Если вы вернете v.10, это вариант для вас, вы можете сделать это очень легко, используя Node Version Manager NVM. Просто переключитесь на любую версию, которая вам нравится на ходу, и используйте ее, ожидая исправления для v.12.