Потребление памяти при сборке Ember-cli может привести к сбою (OOM) на минимальном размере экземпляра

Причина, по которой мы добавили этот флаг, заключалась в том, что собственный OOM-киллер Node убивал сборку — 500 МБ было недостаточно. Готов попробовать настроить его на 1,5 ГБ — я только что проверил это на своём дроплете, и всё работает нормально. На самом деле, похоже, что даже 1,0 ГБ достаточно.

Я попытался отслеживать использование памяти с разными значениями max_heap:

(while(true); do (free -m -t | grep Total | awk '{print $3}') && sleep 0.5; done) | tee 1000mb.csv

Это показывает использование памяти во время сборки:

Разница во времени сборки была незначительной, но лимиты 1 ГБ и 1,5 ГБ явно приводят к меньшему общему использованию. Как и ожидалось, вывод команды time показывает значительно меньше «крупных ошибок страниц» при более низком лимите для Node.

Любопытно, что разница между 1,5 ГБ и 1 ГБ так мала… :face_with_monocle:

В любом случае, я согласен, что снижение лимита — хорошая идея. Чтобы убедиться, что это не повлияет на производительность сборки на машинах с более высокими характеристиками, я думаю, мы должны переопределять лимит только тогда, когда знаем, что он слишком низкий. В противном случае мы можем позволить Node использовать значение по умолчанию.

Вот PR — мы постараемся как можно скорее его объединить. Спасибо, что подняли этот вопрос @Ed_S!