1MALLOC_TRIM(3)             Linux Programmer's Manual            MALLOC_TRIM(3)
2
3
4

NAME

6       malloc_trim - release free memory from the heap
7

SYNOPSIS

9       #include <malloc.h>
10
11       int malloc_trim(size_t pad);
12

DESCRIPTION

14       The  malloc_trim()  function  attempts  to release free memory from the
15       heap (by calling sbrk(2) or madvise(2) with suitable arguments).
16
17       The pad argument specifies the amount of free space to leave  untrimmed
18       at the top of the heap.  If this argument is 0, only the minimum amount
19       of memory is maintained at the top of  the  heap  (i.e.,  one  page  or
20       less).   A nonzero argument can be used to maintain some trailing space
21       at the top of the heap in order to allow future allocations to be  made
22       without having to extend the heap with sbrk(2).
23

RETURN VALUE

25       The  malloc_trim()  function  returns 1 if memory was actually released
26       back to the system, or 0 if it was not possible to release any memory.
27

ERRORS

29       No errors are defined.
30

ATTRIBUTES

32       For an  explanation  of  the  terms  used  in  this  section,  see  at‐
33       tributes(7).
34
35       ┌────────────────────────────────────────────┬───────────────┬─────────┐
36Interface                                   Attribute     Value   
37       ├────────────────────────────────────────────┼───────────────┼─────────┤
38malloc_trim()                               │ Thread safety │ MT-Safe │
39       └────────────────────────────────────────────┴───────────────┴─────────┘
40

CONFORMING TO

42       This function is a GNU extension.
43

NOTES

45       Only  the  main  heap  (using  sbrk(2)) honors the pad argument; thread
46       heaps do not.
47
48       Since glibc 2.8 this function frees memory in all  arenas  and  in  all
49       chunks with whole free pages.
50
51       Before glibc 2.8 this function only freed memory at the top of the heap
52       in the main arena.
53

SEE ALSO

55       sbrk(2), malloc(3), mallopt(3)
56

COLOPHON

58       This page is part of release 5.12 of the Linux  man-pages  project.   A
59       description  of  the project, information about reporting bugs, and the
60       latest    version    of    this    page,    can     be     found     at
61       https://www.kernel.org/doc/man-pages/.
62
63
64
65Linux                             2021-03-22                    MALLOC_TRIM(3)
Impressum