Debian 9.4, Linux 4.9
I sometimes compile something that hardly fits in the RAM, or a rouge process suddenly starts eating memory beyond what's available. When the process goes past the available RAM, Linux starts thrashing the disk even though I have zero swap enabled (no swap was an attempt to avoid this). I guess it starts discarding and reloading stuff like the mmap
ped parts of the binaries that are currently running?
At this point my X session quickly becomes unresponsive, and all I can do is wait dozens of minutes until the entire X session gets killed and I can log back in.
I tried to search around for solutions, but nothing seems to work. The OOM killer doesn't catch this process and with vm.overcommit_memory=2
I can't even log in with GDM and Gnome.
Is there a way to tell Linux not to swap at all? That way I would at least get a chance that the rouge process will be killed by a failed malloc
, and even if not, at least I wouldn't need to wait while staring at an unresponsive machine.
Or any other hints how to manage this scenario?
swapoff
which doesn't happen and is totally nonsensical.1+SWAP_SIZE/RAM_SIZE*1000
times longer for the system to kill the process for taking up to much memory. This is exactly the opposite of what the OP is trying to do.