I guess the reason for these SEGV's is that processes try to malloc
chunks of memory, don't get any but forget to check the return value of
malloc. In order to prevent init from dying init would be required not
to allocate any memory (which is impossible. It forks other processes).
If init dies, you get logged out and the offensive process (the one that
eats all the memory) is terminated. But usually at least the operating
system survives. The only way to prevent a process from eating too much
memory is limit/ulimit (I've heard not even these always work).
Rudi