#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/mman.h>
#include <string.h>
#include <errno.h>
int main (int argc, char *argv[])
{
int size = 1024 * 1024 * 100;
for (int i = 0; i < 10000000; ++i) {
void* mem = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANON, 0, 0);
if (mem == MAP_FAILED) {
fprintf(stderr, "#%d, map failed (%s)\n", i, strerror(errno));
sleep(5);
exit(1);
}
// int* ptr = (int*) mem;
// ++(*ptr);
if (i % 100000 == 0)
printf("#%d, Allocated %d bytes at %p\n", i, size, mem);
}
printf("Sleeping...");
fflush(stdout);
sleep(30);
printf(" Exiting...\n");
return 0;
}