#include #include #include #include #include #include #include void usage(void) { fprintf(stderr, "bigmem \n"); } int main(int argc, char *argv[]) { void *buf; size_t size; pid_t pid; if (argc != 2) { usage(); return 1; } pid = getpid(); fprintf(stdout, "pid is %d\n", pid); size = atol(argv[1]) * 1024 * 1024; buf = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); if (buf == MAP_FAILED) { perror(NULL); return errno; } memset(buf, 0, size); fprintf(stdout, "allocated %ld bytes anonymous memory\n"); pause(); }