Mondo IT

recensioni, articoli e approfondimenti sul mondo IT

memorylocker.c

leave a comment »

Questo programmino scritto in C mi è utile per occupare RAM per rendere confrontabili per dei benchmark una macchina reale e una macchina virtuale.

#include <sys/mman.h>
#include <stdlib.h>
#include <signal.h>
#include <stdio.h>
void freemem(int signalValue);
char* memory;
int main(int argc, char** argv){
signal(SIGINT,freemem);
int n=atoi(argv[1]);
printf("\nalloco %dMB di RAM\n",n);
const int alloc_size = n * 1024 * 1024;
memory = malloc(alloc_size);
mlock(memory, alloc_size);
size_t i;
size_t page_size = getpagesize();
for(i=0; i<alloc_size; i+= page_size)
memory[i]=0;
pause();
}
void freemem(int signalValue){
printf("\nricevuto segnale di chiusura, libero la memoria ed esco\n");
free(memory);
exit(0);
}
Annunci

Written by Michele Paolino

20/07/2009 a 10:52

Pubblicato su GNU/linux, programmazione

Tagged with , ,

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: