Есть такая штука как oom adjust, она контролирует то в каком порядке процессы будут убиваться. К сожалению по умолчанию этот механизм в большинстве случаев работает антилогично, убивая системные службы по паре мегабайт, вместо того чтобы убить процесс, который съел большую часть памяти.
В upstart и возможно systemd есть некоторые механизмы для использования этого параметра, но мне кажется что удобнее использовать один из доступных в интернете скриптов, которые вручную выставляют приоритеты процессам в системе на основе конфигов.