Meu Ubuntu não pode matar o processo que ocupa muita memória?

0

Quando eu testei, meu computador tentou melhor para fornecer mais memória para o meu programa .. E meu computador travou .. Mas eu lembrei que o Ubuntu vai matar esse processo se ele precisar de muita memória continuamente .. Por que isso se torna isso?

/*I write the code to test how much memory can my computer provide the most*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int m = 0 ;
    while( malloc(1 << 20) )
    {
        printf ("%d MB\n", ++m) ;
    }
    return 0 ;
}
    
por code_new 30.12.2013 / 15:09

1 resposta

0

Como a memória não é alocada, mas apenas reservada, isso preencherá algumas outras partes do sistema, como a tabela de páginas, mas não a memória física que o Out of memory killer lida. Tente usar memset () no seu bloco de memória antes de vazar.

Você também pode estar interessado em pesquisar / proc / sys / vm / overcommit_memory

De: link

% bl0ck_qu0te%     
por TiCPU 31.12.2013 / 00:31