发布于 2016-03-02 07:56:14 | 183 次阅读 | 评论: 0 | 来源: 网友投递
jemalloc 内存分配管理
jason认为phkmalloc(FreeBSD’s previous malloc implementation by Kamp (1998))没有考虑多处理器的情况,因此在多线程并发下性能低下(事实如此),而jemalloc适合多线程下内存分配管理。
jemalloc 4.1.0 发布了新的版本,增强了可移植性,性能也得以大大的优化。
jemalloc 4.1.0新特性:
* Implement decay-based unused dirty page purging, a major optimization with mallctl API impact. This is an alternative to the existing ratio-based unused dirty page purging, and is intended to eventually become the sole purging mechanism. New mallctls:
opt.purge
opt.decay_time
arena.<i>.decay
arena.<i>.decay_time
arenas.decay_time
stats.arenas.<i>.decay_time
(@jasone, @cevans87)
* Add --with-malloc-conf, which makes it possible to embed a default options string during configuration. This was motivated by the desire to specify --with-malloc-conf=purge:decay , since the default must remain purge:ratio until the 5.0.0 release. (@jasone)
* Add MS Visual Studio 2015 support. (@rustyx, @yuslepukhin)
* Make *allocx() size class overflow behavior defined. The maximum size class is now less than PTRDIFF_MAX to protect applications against numerical overflow, and all allocation functions are guaranteed to indicate errors rather than potentially crashing if the request size exceeds the maximum size class. (@jasone)
* jeprof:
Add raw heap profile support. (@jasone)
Add --retain and --exclude for backtrace symbol filtering. (@jasone)
关于该版本的更多详情,可参见 https://github.com/jemalloc/jemalloc/releases/tag/4.1.0
下载地址:https://github.com/jemalloc/jemalloc/releases/download/4.1.0/jemalloc-4.1.0.tar.bz2