it is not normal for you to be able to crash your system.
so something other than just normal ram preasure and swapping is going on.
i'm trying to think.
you don't say what kernel you are using or how much swap you have.
i think you just don't have enough swap !
64 bit processors don't have the same constraints 32bit processors do on memory bandwidth so you should have lots of huge swap partitions.
what you are doing must be creating alot of unique data that is not disk backed and goes in swap cue.
so when memory gets used up there is not enough swap to hold all necesary data plus keep x and freinds unique data safe and room to load necesary code.
kswapd starts shuffling out code to compensate. even the code for the process you are running may be thrashing all the way from disk to cpu and still not able to have enough room to hold on to all generated unique data.
it's a crash situation exactly like having no swap at all.
Quote:
It would be nice if say. X11 and spesific desktop processes could reserve some memory for themselves.
|
they do ! any data generated that is not already on disk like in the executable itself imediately gets a spot in the swap cue.
for your amd64 128 different swap areas are permitted, each can be up to 16 Tb huge.
so you are certainly not lacking for a way to fix this problem.
the kernel is ready to use a couple of thousand disks as swap partitions.
if you can't make new partitions at this point (swap partitions are faster) make swap files.
like
dd if=/dev/zero of=/extraswap bs=1M count=8192
mkswap /extraswap
swapon /extraswap
now you got an extra 8 Gb swap