mlockall() . , . getrlimit(RLIMIT_MEMLOCK,...). 65536 .
, , strace(1), , , :
mlockall(MCL_FUTURE) = 0
brk(0) = 0x2318000
brk(0x2339000) = 0x2318000
mmap(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 EAGAIN (Resource temporarily unavailable)
mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 EAGAIN (Resource temporarily unavailable)
mmap(NULL, 67108864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 EAGAIN (Resource temporarily unavailable)
mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 EAGAIN (Resource temporarily unavailable)
mmap(NULL, 67108864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 EAGAIN (Resource temporarily unavailable)
exit_group(11) = ?
, malloc brk, 135168 (0x2339000-0x2318000). , , brk " " ( ) . (. brk(2) C brk().)
malloc 1048576 , mmap. ( 65536 ), EAGAIN. mmap(2) , errno EAGAIN, " ", . malloc, , errno, , , EAGAIN - , , malloc.
( mmap PROT_NONE, , , . . malloc/arena.c glibc gory , .)
, , malloc , , . , , . , . EAGAIN - , mmap .
, malloc errno, , , errno . (, fprintf(3) write(2), errno ENOSPC, , fprintf(3).) .
mlockall(MCL_FUTURE), , , malloc(3). sbrk(2) mmap(2), , , . , , , root, , , mlock(2) .