Teste de desempenho de troca

Teste de desempenho de troca

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

Basicamente, vou instalar um flash memory cardque será usado como swap space, e quero testar como o desempenho melhora com isso. Achei que seria mais fácil criar um programa simples que usasse vários threads para testar quão bem ele lida com vários processos executados simultaneamente. O problema é que eu simplesmente não sei o suficiente swap(ou reuni informações suficientes do que li) para saber como posso "forçar" o uso desses threads swap space.

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

Responder1

Não sei se esta é a melhor maneira de arquivar o que você quer fazer, mas 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 início usado

informação relacionada