Entiendo el concepto general de swap memory
, pero de alguna manera necesito crear un programa que fuerce el uso de swap memory
para pruebas de rendimiento y no sé ni siquiera por dónde empezar.
Básicamente, voy a instalar un flash memory card
archivo que se usará como swap space
y quiero probar cómo mejora el rendimiento al hacerlo. Pensé que sería más fácil crear un programa simple que use múltiples subprocesos para probar qué tan bien maneja múltiples procesos que se ejecutan simultáneamente. El problema es que simplemente no sé lo suficiente swap
(o no he recopilado suficiente información de lo que he leído) para saber cómo puedo "forzar" el uso de estos hilos swap space
.
¿Alguien tiene algunas sugerencias sólidas sobre cómo puedo abordar esto? 64-bit linux OS
Lo más probable es que esté ejecutando esto en un Fedora 18
.
Respuesta1
No sé si esta es una mejor manera de archivar lo que quieres hacer, pero usé un 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
y ejecuta ./mhog muchas veces de esta manera
./mhog &
Cuando su servidor o computadora se encuentre sin memoria, verá el inicio usado