Сервер падает не тихо — в dmesg остаётся строка «Killed process», а вы гадаете, почему ядро выбрало именно этот процесс, а не тот, что реально сожрал память. OOM killer работает по конкретному, вычислимому алгоритму: у каждого процесса есть число-«приговор», и ядро просто убивает того, у кого оно больше. Разберём, как это число считается, как на него повлиять и что делать, чтобы механизм не выносил вам продакшен-базу вместо тестового скрипта.
Подробнее →