另外参见

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

名称

malloc_trim-从堆释放可用内存

语法

#包括

int malloc_trim(size_t pad);

返回值

如果实际将内存释放回系统,则malloc_trim()函数返回1;如果无法释放任何内存,则返回0。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
malloc_trim()Thread safetyMT-Safe
MALLOC_TRIM - Linux手册页

Linux程序员手册 第3部分
更新日期: 2020-08-13

遵循规范

此函数是GNU扩展。

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

错误说明

没有定义错误。

备注

在某些情况下,free(3)会自动调用此函数;请参阅mallopt(3)中有关M_TOP_PAD和M_TRIM_THRESHOLD的讨论。

只有主堆(使用sbrk(2))才支持pad参数。线程堆没有。

从glibc 2.8开始,此功能释放整个区域中所有区域和所有块中的内存。

在glibc 2.8之前,此函数仅在主区域中释放堆顶部的内存。

说明

malloc_trim()函数尝试从堆中释放可用内存(通过使用适当的参数调用sbrk(2)或madvise(2))。

pad参数指定堆顶部未修剪的可用空间量。如果此参数为0,则仅在堆的顶部(即一页或更少)保留最小的内存量。非零参数可用于在堆顶部保留一些尾随空间,以便将来进行分配而不必使用sbrk(2)扩展堆。

日期:2019-08-20 18:00:51 来源:oir作者:oir