linux中的malloc / free是由glibc管理的,当我们释放内存时,glibc不会直接将它返回到RAM(可能会缓存到未来的malloc),所以如果有大量的小内存malloc和free,即使释放内存,堆大小(VSS)也会增加很多。 http://www.gnu.org/software/libc/manual/html_mono/libc.html#Efficiency-and-Malloc
所以VSS大小包括分配和使用的内存一个并且释放但没有返回到RAM中,我们如何检查每个内存的大小?
THX。
答案 0 :(得分:1)
标准的mallinfo函数与回答您的问题是不匹配的,因为它的界面从根本上被打破了。
非便携式GLIBC特定答案是使用malloc_stats的malloc_info。