首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >顶部在调用malloc_trim()后是否显示了错误的结果?

顶部在调用malloc_trim()后是否显示了错误的结果?
EN

Stack Overflow用户
提问于 2016-12-21 04:51:40
回答 1查看 68关注 0票数 0

我使用free内存有关3G,然后使用malloc_trim(0)将堆内存返回到系统,并使用top查看驻留内存的使用情况。但常驻记忆并没有减少。这些内存每次都是malloc()编辑的,因为54K128K小。并采用malloc()进行brk()系统调用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-21 05:12:16

它的文档称,

malloc_trim()函数尝试在堆顶部释放空闲内存

(强调后加)。

它不能释放在堆上分配内存的内存,因此不能保证向系统返回任何内容。我倾向于认为,您想要释放的内存中,很少(如果有的话)位于堆的顶端,尽管内存也可能不是实际空闲的。

还请注意,malloc_trim()是一个GNU扩展。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41255305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档