jemalloc 5.0.1 发布,内存分配管理

淡漠悠然
 淡漠悠然
发布于 2017年07月06日
收藏 16

Jemalloc 5.0.1 已发布,jemalloc 是一个通用的 malloc(3)实现,它强调了分段回避和可伸缩并发支持。jemalloc 在 2005 年首次作为 FreeBSD libc 分配器使用,2010年,jemalloc 的功能延伸到如堆分析和监控/调优等。现代的 jemalloc 版本依然集成在 FreeBSD 中。

更新内容:

  • Update decay->nunpurged before purging, in order to avoid potential update races and subsequent incorrect purging volume.

  • Only abort on dlsym(3) error if the failure impacts an enabled feature (lazy locking and/or background threads). This mitigates an initialization failure bug for which we still do not have a clear reproduction test case.

  • Modify tsd management so that it neither crashes nor leaks if a thread's only allocation activity is to call free() after TLS destructors have been executed. This behavior was observed when operating with GNU libc, and is unlikely to be an issue with other libc implementations.

  • Mask signals during background thread creation. This prevents signals from being inadvertently delivered to background threads.

  • Avoid inactivity checks within background threads, in order to prevent recursive mutex acquisition.

  • Fix extent_grow_retained() to use the specified hooks when the arena.<i>.extent_hooks mallctl is used to override the default hooks.

  • Add missing reentrancy support for custom extent hooks which allocate. 

  • Post-fork(2), re-initialize the list of tcaches associated with each arena to contain no tcaches except the forking thread's. 

  • Add missing post-fork(2) mutex reinitialization for extent_grow_mtx. This fixes potential deadlocks after fork(2)

  • Enforce minimum autoconf version (currently 2.68), since 2.63 is known to generate corrupt configure scripts. 

  • Ensure that the configured page size (--with-lg-page) is no larger than the configured huge page size (--with-lg-hugepage). 

下载地址:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:jemalloc 5.0.1 发布,内存分配管理
加载中
返回顶部
顶部