rle*_*eir 6 c linux heap pthreads
我的工具是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 字节 =~ 1 KB(32 位模式)和 ~2 KB(64 位模式)。glibc-2.3 (256+256/32+11+NFASTBINS)*4 =~ 32 位 1.1-1.2 KB,64 位 2.4-2.5 KB
参见glibc-xxx/malloc/malloc.c文件,struct malloc_state
| 归档时间: |
|
| 查看次数: |
1884 次 |
| 最近记录: |