Os controles relacionados à memória são impostos por limites de recursos por processo. Os limites do processo relacionados à memória foram parcialmente quebrados por um longo tempo no Linux. Exemplo:
$ (ulimit -m 1; emacs)
Se o Emacs for iniciado, o limite de recursos RSS não está sendo imposto. Os limites que vi funcionam são os limites do segmento de dados e da pilha.
$ (ulimit -d 1; emacs)
emacs: Memory exhausted--use M-x save-some-buffers RET
$ (ulimit -s 1; emacs)
$
Portanto, use apenas os limites de memória "data" e "stack", pois eles parecem ser impostos.