是否有某种malloc库提供可用内存返回os的接口?

时间:2011-10-31 05:57:49

标签: malloc

我不知道是否有一个malloc库在调用它时为fr​​ee-ed内存提供接口。 如果没有,我该怎么做才能实现这一目标?

2 个答案:

答案 0 :(得分:0)

在某些操作系统下,您可以使用sbrk来缩小竞技场的大小。这可能会也可能不会将该内存交回操作系统。

在今天的虚拟内存世界中,它可能并非真的有必要。很有可能,如果你只是停止使用内存,它将被换出并且永远不会回到主存储器中(虽然它可能仍占用地址空间和交换文件空间) - 这一切都取决于操作系统。

答案 1 :(得分:0)

它应该在free()上自动发生,但有时显式malloc_trim()会有所帮助:

http://man7.org/linux/man-pages/man3/malloc_trim.3.html