Advertisement
kelleynnn

fillmem.c

Jan 21st, 2014
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.15 KB | None | 0 0
  1. /* fillmem.c
  2.  * pack system memory with random numbers, then sleep
  3.  * for memory manager development and testing
  4.  */
  5.  
  6. #include <stdlib.h>
  7. #include <unistd.h>
  8. #include <stdio.h>
  9. #include <limits.h>
  10.  
  11. int main(int argc, char *argv[])
  12. {
  13.     int *data;
  14.     int megs_to_fill = 512;
  15.     long allocs;
  16.     int sleeptime = 300;
  17.     int c, tmp, i;
  18.     int randomized;
  19.  
  20.     while ((c = getopt(argc, argv, "m:s:")) != -1){
  21.         switch(c){
  22.         case 'm':
  23.             tmp = atoi(optarg);
  24.         if (0 < tmp && tmp < 1025){
  25.             megs_to_fill = tmp;
  26.         }
  27.         break;
  28.         case 's':
  29.             tmp = atoi(optarg);
  30.         if (0 < tmp && tmp < 901){
  31.             sleeptime = tmp;
  32.         }
  33.         break;
  34.         default:
  35.         break;
  36.         }
  37.     }
  38.  
  39.     printf("Megs_to_fill: %d Sleeptime: %d\n", megs_to_fill, sleeptime);
  40.     allocs = 256 * 1024 * megs_to_fill;
  41.     data = malloc (allocs * sizeof(int));
  42.     if (data == NULL){
  43.         printf("Not enough memory\n");
  44.         return -1;
  45.     }
  46.     for (i = 0; i < allocs; i++){
  47.         randomized = random() % INT_MAX;
  48. //      printf("Filling data location %d with %d\n", i, randomized);
  49.         data[i] = randomized;
  50.     }
  51.     printf("%dM filled, sleeping for %dsec\n", megs_to_fill, sleeptime);
  52.  
  53.     sleep(sleeptime);
  54.     free(data);
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement