@kerrigan oom killer сильно фейворит долговыполняющиеся процессы; не взлетит.
s = int_sqrt(cpu_time);
if (s)
points /= s;
s = int_sqrt(int_sqrt(run_time));
if (s)
points /= s;
на моей системе все эти деления уменьшают `points` в ноль, и это никаким `oom_adj` не поднять.
[безумные идеи] Внутри приложения сидит тред, который по таймеру делает `exec`. Все открытые файлы и сокеты так и остаются открытыми, поэтому снаружи никто и не поймёт, что приложение рестартовало.
А ещё можно под Boehm GC запустить.