Advertisement
Guest User

Untitled

a guest
Jul 28th, 2013
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.76 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <sys/mman.h>
  5. #include <string.h>
  6. #include <errno.h>
  7.  
  8. int main (int argc, char *argv[])
  9. {
  10.     int size = 1024 * 1024 * 100;
  11.    
  12.     for (int i = 0; i < 10000000; ++i) {
  13.         void* mem = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANON, 0, 0);
  14.         if (mem == MAP_FAILED) {
  15.             fprintf(stderr, "#%d, map failed (%s)\n", i, strerror(errno));
  16.             sleep(5);
  17.             exit(1);
  18.         }
  19.         // int* ptr = (int*) mem;
  20.         // ++(*ptr);
  21.         if (i % 100000 == 0)
  22.             printf("#%d, Allocated %d bytes at %p\n", i, size, mem);
  23.     }
  24.     printf("Sleeping...");
  25.     fflush(stdout);
  26.     sleep(30);
  27.     printf(" Exiting...\n");
  28.     return 0;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement