gpt4 book ai didi

c - 调用 malloc_trim() 后 top 是否显示错误结果?

转载 作者:行者123 更新时间:2023-11-30 16:52:23 29 4
gpt4 key购买 nike

释放大约3G内存,然后使用malloc_trim(0)将堆内存返回给系统,并使用监视常驻内存使用情况>顶部。但常驻内存并没有减少。这些内存每次都会被malloc()分配,大约54K,小于128K。它是通过 brk() 系统调用进行 malloc() 编辑的。

最佳答案

根据its docs ,

The malloc_trim() function attempts to release free memory at the top of the heap

(强调)。

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

另请注意,malloc_trim() 是 GNU 扩展。

关于c - 调用 malloc_trim() 后 top 是否显示错误结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41255305/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com