加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 空堆竞技场的开销

发布时间:2020-12-16 03:48:22 所属栏目:百科 来源:网络整理
导读:我的工具是Linux,gcc和pthreads.当我的程序从多个线程调用new / delete时,并且当存在争用堆时,arena被创建(参见以下链接以供参考http://www.bozemanpass.com/info/linux/malloc/Linux_Heap_Contention.html).我的程序全天候运行,2周后偶尔会创建竞技场.我认

我的工具是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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读