defina o espaço de troca como 0 no RHEL para teste

0

Eu tentei mudar o swappiness para 100, e usei o código malloc () para configurar o swap para 0 no meu sistema rhel. Mas isso não parece ser útil. A alocação de memória do sistema é assim:

-bash-4.1$ cat /proc/meminfo
 MemTotal:       15331636 kB
 MemFree:        14552168 kB
 SwapTotal:      15826924 kB
 SwapFree:       15657580 kB

O programa malloc executou alguns milhares de iterações antes que o kernel matasse o mesmo. Mas eu não vi um "processo morto" explícito ou qualquer outra informação no arquivo de log do kernel.

Procurei o status usando dmesg após a execução deste snippet de código:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

 int main(int argc, char** argv) {
int max = -1;
int mb = 0;
char* buffer;

if(argc > 1)
    max = atoi(argv[1]);

while((buffer=malloc(1024*1024*1024)) != NULL && mb != max) {
    memset(buffer, 0, 1024*1024);
    mb++;
    printf("Allocated %d MB\n", mb);
}
return 0;
}

Existe uma maneira melhor de configurar o swap para um valor muito baixo ou 0?

    
por bhavs 29.04.2016 / 11:22

1 resposta

0

O comando a seguir (executado como root) desabilitará todo o espaço de troca, movendo qualquer coisa na troca para RAM real antes de desabilitá-lo. Seja cauteloso, como se você acabasse precisando de mais memória do que você tem sem swap, você terá problemas que vão desde o processo de matar o kernel, a seu critério, até um pânico completo no kernel.

swapoff
    
por 03.05.2016 / 04:09