发布于 2017-06-15 00:28:30 | 209 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

jemalloc 内存分配管理

jason认为phkmalloc(FreeBSD’s previous malloc implementation by Kamp (1998))没有考虑多处理器的情况,因此在多线程并发下性能低下(事实如此),而jemalloc适合多线程下内存分配管理。


jemalloc 发布了全新的 5.0.0 版本。与以前所有的版本不同,新版本不使用自然对齐的“chunks”进行虚拟内存管理,而是使用页面对齐的“extents”。

部分更新内容:

  • 新增 C ++ 新建/删除 operator bindings。

  • 将衰减时间分辨率从秒增加到毫秒。

  • 将 MALLCTL_ARENAS_ALL 添加为固定索引,用于通过 mallctl 访问合并/销毁的 arena 统计信息。

  • 新增互斥量分析,用于收集各种有助于诊断开销/争用问题的统计信息。

  • 在初始化期间检测到无效的配置选项时,可以选择中止 opt.abort_conf。

  • 新增 --with-version = VERSION,以将 jemalloc 嵌入到另一个项目的 git 仓库中使用。

  • 新增 --disable-thp 来支持交叉编译。

  • 新增 --with-lg-hugepage 以支持交叉编译。

  • 新增 mallctl 接口:

    • background_thread

    • opt.abort_conf

    • opt.retain

    • opt.percpu_arena

    • opt.background_thread

    • opt.{dirty,muzzy}_decay_ms

    • opt.stats_print_opts

    • arena.<i>.initialized

    • arena.<i>.destroy

    • arena.<i>.{dirty,muzzy}_decay_ms

    • arena.<i>.extent_hooks

    • arenas.{dirty,muzzy}_decay_ms

    • arenas.bin.<i>.slab_size

    • arenas.nlextents

    • arenas.lextent.<i>.size

    • arenas.create

    • stats.background_thread.{num_threads,num_runs,run_interval}

    • stats.mutexes.{ctl,background_thread,prof,reset}.{num_ops,num_spin_acq,num_wait,max_wait_time,total_wait_time,max_num_thds,num_owner_switch}

    • stats.arenas.<i>.{dirty,muzzy}_decay_ms

    • stats.arenas.<i>.uptime

    • stats.arenas.<i>.{pmuzzy,base,internal,resident}

    • stats.arenas.<i>.{dirty,muzzy}_{npurge,nmadvise,purged}

    • stats.arenas.<i>.bins.<j>.{nslabs,reslabs,curslabs}

    • stats.arenas.<i>.bins.<j>.mutex.{num_ops,num_spin_acq,num_wait,max_wait_time,total_wait_time,max_num_thds,num_owner_switch}

    • stats.arenas.<i>.lextents.<j>.{nmalloc,ndalloc,nrequests,curlextents}

    • stats.arenas.i.mutexes.{large,extent_avail,extents_dirty,extents_muzzy,extents_retained,decay_dirty,decay_muzzy,base,tcache_list}.{num_ops,num_spin_acq,num_wait,max_wait_time,total_wait_time,max_num_thds,num_owner_switch}

  • 移除--disable-tcache

  • 移除--disable-tls

  • 移除--enable-ivsalloc

  • 移除--with-lg-size-class-group

  • 移除--with-lg-tiny-min

  • 移除--disable-munmap

  • 移除 redzone 支持

  • ……

该版本有大量更新内容,请查阅发行主页了解详情

下载地址:



历史版本 :
jemalloc 5.0.1 发布,内存分配管理
jemalloc 5.0.0 全新版本发布,内存分配管理
jemalloc 4.5.0 发布,内存分配管理
jemalloc 4.2.0 发布,内存分配管理
jemalloc 4.1.0 发布,增强了可移植性
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务