DF-2880 / memhog.c
#include <stdlib.h> #include <string.h> #include <stdio.h> int main(int argc, char **argv) { size_t mb = argc > 1 ? (size_t)atol(argv[1]) : 3600; size_t n = mb * 1024 * 1024; char *p = malloc(n); if (!p) { perror("malloc"); return 1; } for (size_t i = 0; i < n; i += 4096) p[i] = (char)(i >> 12); printf("touched %zu MB\n", mb); sleep(30); return 0; } |