Собственно есть система с «кучей памяти», есть в это памяти программы большие (десятки и сотни гигов ОЗУ) и маленькие (десятки и сотни метров ОЗУ). Большие программы, иногда, могут вызвать OOM (почему это отдельный вопрос, в данный момент он меня мало интересует), но OOM-killer убивает все подряд, и маленьким программам всегда достается (я вообще не понимаю почему на системе с более чем сотней Гб памяти OOM-killer убивает прогу, жрущую 100Мб, при том что все такие мелкие проги, совокупно, и 1% ОЗУ не занимают).
Собственно вопрос, можно-ли:
1. Как-то вообще запретить убивать ту или иную программу по OOM? (nice не выход)
2. Как-то обработать внутри программы OOM, прежде чем она будет убита? (банально сбросить какие-то данные на диск перед смертью)
3. Можно-ли убитую по OOM прогу как-то гарантированно перезапустить в автоматическом режиме? (Речь идет об Ubuntu 14.04, без systemd или как он там называется)