jemalloc优化MySQL、Nginx内存管理
上一篇文章《 TCMalloc优化MySQL、Nginx、Redis内存管理 》,下 面来看下 jemalloc jemalloc源于Jason Evans 2006年在BSDcan conference发表的论文:《 A Scalable Concurrent malloc Implementation for FreeBSD 》。 jason认为phkmalloc(FreeBSD’s previous malloc implementation by Kamp (1998))没有考虑多处理器的情况,因此在多线程并发下性能低下(事实如此),而jemalloc适合多线程下内存分配管理。从2007年开始以 FreeBSD标准引进来。软件技术革新很多是FreeBSD发起,在FreeBSD应用广泛的技术会慢慢导入到 Linux 中。 Redis 2.4版本之后,默认使用jemalloc来做内存管理;tengine也整合jemalloc 。jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领域最高水平。如下图: 图片来源: facebook 最左边的就是glibc的malloc,最右边的就是jemalloc。从图表上可以看出,jemalloc的性能有glibc的两倍以上。非常压 倒性的性能差异。因此,使用了jemalloc的应用程序自然会快很多