Eu encontrei artigo da Oracle sobre o OOM Killer ( Out of Memory Killer) responda a metade da sua pergunta, especialmente no capítulo 'Configuring the OOM Killer'.
Eu extraí de lá dois comandos importantes (eu acho):
- Desativar matador de OOM
root@host:~# sysctl vm.overcommit_memory=2
- Excluir um processo do OOM Killer
root@host:~# echo -17 > /proc/<pid>/oom_adj
Outra resposta muito interessante é 1.4 em esta FAQ do stress página do projeto, diz:
1.4 Why is my CPU getting hammered but not my RAM?
This is because stress if faily conservative in its default options. It is pretty easy to render a system temporarly unusable by forcing the virtual memory manager to thrash. So make sure you understand how much memory you have and then pass the appropriate options. On a dual-core Intel system with 3 GB of RAM a reasonable invocation is this:stress -m 1 --vm-bytes 2G
Certo, sua pergunta ainda não foi respondida. Vamos olhar para manual de stress ...
-c, --cpu N
spawn N workers spinning on sqrt()
Talvez a opção acima possa ajudar, tente colocá-lo em zero. Opa, não funciona!
Depois de uma olhada no código, notei que esta opção está desabilitada por padrão. E também notei que a opção - vm-hang pode ser o que você deseja.
A ação padrão de - vm está girando em malloc () / free (), e é um uso intensivo da CPU! - vm-hang faz o programa stress fazer uma pausa por segundos toda vez que ele aloca até free () .
Tente usar o seguinte (consome ~ 128MB de RAM):
root@host:~# stress --vm 1 --vm-bytes 128000000 --vm-hang 3600
E faça um teste em outro terminal:
root@host:~# top