'malloc_trim' was and is never called from the 'free' function. see related bug in glibc tracker: https://sourceware.org/bugzilla/show_bug.cgi?id=2531. or '__int_free' function. Only the top part of the heap is trimmed after some calls to 'free', which is different from 'malloc_trim' which also releases memory in between chunks from all the arenas/heaps. diff --git a/man3/malloc_trim.3 b/man3/malloc_trim.3 index 3c4cf5e8b..84e73fd70 100644 --- a/man3/malloc_trim.3 +++ b/man3/malloc_trim.3 @@ -80,15 +80,6 @@ T} Thread safety MT-Safe .SH CONFORMING TO This function is a GNU extension. .SH NOTES -This function is automatically called by -.BR free (3) -in certain circumstances; see the discussion of -.B M_TOP_PAD -and -.B M_TRIM_THRESHOLD -in -.BR mallopt (3). -.PP Only the main heap (using .BR sbrk (2)) honors the