c– 空堆竞技场的开销

c– 空堆竞技场的开销,第1张

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

总结

以上是内存溢出为你收集整理的c – 空堆竞技场的开销全部内容,希望文章能够帮你解决c – 空堆竞技场的开销所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1258707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存