Reserve memória para um programa

1

É possível separar, digamos, 50MB de memória para que, em uma emergência em que algo use toda a minha memória ou carregue a CPU, eu possa abrir um terminal, encontrar o processo problemático e eliminá-lo?

    
por user75027 21.08.2014 / 00:15

1 resposta

1

Até onde eu sei, isso não é possível. E eu acho que é um problema muito mais complicado de resolver do que parece, se levarmos em conta a complexidade do gerenciamento de memória. Pode até ser difícil descrever claramente o que significa "deixar 50MB de lado".

Mas no Linux, há algo que pode muito bem resolver seu problema muito mais elegante:
O assassino de OOM - out of killer de memória - que toma a decisão de qual processo matar se a memória ficar apertada, e apenas mata-lo. Muito melhor do que esperar pelo primeiro programa que não verifica o valor de retorno de malloc() e chrashes.

Existem alguns parâmetros para configurá-lo de acordo com suas necessidades - consulte Como configurar o assassino de falta de memória do Linux .

Parte do que torna isso complicado é que não ajuda a reservar memória para um programa: para fazer qualquer coisa útil, você precisa ser capaz de iniciar outros programas - como kill .

    
por 21.08.2014 / 00:35

Tags