Выбор ответа Middle Кластер, воркеры, масштабирование обновлено
Флаг --max-old-space-size
Вопрос
Процесс падает с JavaScript heap out of memory, хотя у машины свободно 16 ГБ. Что задаёт флаг --max-old-space-size?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Размер старого поколения кучи V8 в МБ. V8 ограничивает размер кучи независимо от свободной памяти машины.
Варианты ответа
- Размер старого поколения кучи V8 в МБправильный ответ
- Лимит всей памяти процесса, включая буферы
- Размер пула потоков libuv для fs и crypto
- Размер стека вызовов главного потока
Разбор
V8 ограничивает размер кучи независимо от свободной памяти машины. Флаг поднимает лимит старого поколения, где живут долгоживущие объекты. Но сначала стоит проверить, нет ли утечки: увеличение лимита её только отсрочит.
- Буферы и нативная память живут вне кучи V8, флаг их не ограничивает.
- Пул libuv задаёт
UV_THREADPOOL_SIZE. - Стек задаёт
--stack-size.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
setInterval-крон при нескольких экземплярах
Следующий вопрос
Как Node.js использует несколько ядер
Термины по теме
Ещё по теме «Кластер, воркеры, масштабирование»
- Консистентное хеширование с виртуальными узлами
- Балансировка least connections
- Плавный взвешенный round-robin как в nginx
- Код-ревью: сервис перед масштабированием в 4 инстанса
- Модуль cluster
- cluster внутри Kubernetes
- Память у воркеров cluster
- cluster или worker_threads