Кстати о костылях.
1. оверкоммит мемори - это костыль .
2. Эвристический оверкоммит в единице по умолчанию (vm.overcommit_memory=0) - это большой костыль.
3. Ядерный оом киллер, необходимость которого появилась вследствие разрешения оверкоммита - это костыль.
4. Сложный алгоритм, используемый для нахождения жертвы, применяемый ядерным киллером - это костыль.
5. Существование двух параметров для регулирования приоритета выбора жертвы - oom_adj и oom_score_adj - это костыль.
Ладно бы я услышал аргументы о костылях, если бы их не было в ядре, или они ходябы отлично работали в ядре. Но нет - ядро полно костылей, связанных с обработкой нехватки памяти, и, более того, вся эта груда костылей отвратительно работает. Возможно, юзерспейсные обработчики являются не меньшими и дополнительными костылями, но они хотя бы работают, в отличие от груды костылей ядра.