Teste de desempenho de troca

2

Eu entendo o conceito geral de swap memory , mas preciso de alguma forma criar um programa que force o uso de swap memory para testes de desempenho e não sei por onde começar.

Basicamente, vou instalar um flash memory card que será usado como swap space e quero testar como o desempenho melhora ao fazer isso. Eu pensei que seria mais fácil fazer um programa simples que usa vários threads para testar o quão bem ele lida com vários processos em execução simultaneamente. O problema é que eu não sei o suficiente sobre swap (ou comprei insight suficiente do que eu li) para saber como eu posso "forçar" esses tópicos a usar swap space .

Alguém tem algumas sugestões sólidas sobre como eu posso abordar isso? Eu estaria executando isso em um 64-bit linux OS , provavelmente Fedora 18 .

    
por cHam 06.12.2013 / 17:16

1 resposta

0

Eu não sei se esta é a melhor maneira de arquivar o que você quer fazer, mas eu usei um código C como este

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


#define MB(size) ( (size) * 1024 * 1024 )

int main(){
    char *p;
    if((p = (char *)malloc(MB(256))) != NULL){
            memset(p, "A", MB(256));
            sleep(300);
    }
}

gcc -o mhog mhog.c
echo 1 > /proc/sys/vm/overcommit_memory

e execute ./mhog muitas vezes desta forma

./mhog &

Quando o seu servidor ou computador estiver em situação de falta de memória, você verá o começo usado

    
por 06.12.2013 / 18:29