c – 空堆竞技场的开销

前端之家收集整理的这篇文章主要介绍了c – 空堆竞技场的开销前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的工具是Linux,gcc和pthreads.当我的程序从多个线程调用new / delete时,并且当存在争用堆时,’arena’被创建(参见以下链接以供参考http://www.bozemanpass.com/info/linux/malloc/Linux_Heap_Contention.html).我的程序全天候运行,2周后偶尔会创建竞技场.我认为最终可能会出现与线程一样多的竞技场. ps(1)显示了惊人的内存消耗,但我怀疑它实际上只映射了一小部分.

空旷竞技场的“开销”是多少? (如果所有分配仅限于传统堆,则每个竞技场使用多少内存?)

有没有办法在n竞技场之前强制创作?有没有办法强迫破坏空的竞技场?

最佳答案
struct malloc_state(又名mstate,又名竞技场描述符)有大小

的glibc-2.2
    (256 18)* 4字节= 32位模式下~~1 KB,64位模式下约2 KB.
的glibc-2.3
    (256 256/32 11 NFASTBINS)* 4 = 32位~1.1-1.2 KB,64位2.4-2.5 KB

请参阅glibc-x.x.x / malloc / malloc.c文件,struct malloc_state

原文链接:https://www.f2er.com/c/440995.html

猜你在找的C&C++相关文章