Назад к вопросам
ОТП Банк
Senior
5
Как OOM Killer выбирает процесс для убийства? Как считается oom_score?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
OOM Killer в Linux выбирает процесс для убийства на основе оценки, насколько процесс «виноват» в нехватке памяти. Для этого используется параметр oom_score, который рассчитывается ядром.
oom_score зависит от нескольких факторов:
- Используемая процессом память (RSS, swap).
- Время жизни процесса (чем дольше, тем ниже приоритет для убийства).
- Приоритет процесса (например, процессы с более высоким приоритетом или с флагом
oom_score_adjниже менее вероятно будут убиты).
Чем выше oom_score, тем выше вероятность, что процесс будет выбран для убийства.
Параметр oom_score_adj позволяет вручную корректировать оценку, задавая значение от -1000 (никогда не убивать) до +1000 (максимально вероятно убить).
Таким образом, OOM Killer выбирает процесс с максимальным скором, учитывая память, приоритет и настройки, чтобы минимизировать ущерб системе при освобождении памяти.