Eu entendo o conceito geral de swap memory
, mas preciso de alguma forma construir 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 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