jemalloc

jemalloc是一款通用、可扩展且并发的malloc实现,针对Linux、FreeBSD、MacOSX和Microsoft Windows进行了优化。它最初作为编程语言运行时的一部分开发,后因FreeBSD对SMP可扩展分配器的需求被整合并持续改进。Mozilla Firefox也采用jemalloc解决Windows平台上的碎片化问题。
摘要由CSDN通过智能技术生成

jemalloc

jemalloc

jemalloc is a general-purpose scalable concurrent malloc(3) implementation. There are several divergent versions of jemalloc in active use, including:

  • The canonical jemalloc distribution available via this website, which currently targets Linux, FreeBSD, Mac OS X, and Microsoft Windows.

  • FreeBSD's default system allocator. This was the first public use of jemalloc, and it is still author-maintained.

  • NetBSD's default system allocator (jemalloc.c).

  • Mozilla Firefox's allocator (source code), specifically for Microsoft Windows-related platforms, Solaris, and Linux. There is Apple Mac OS X support code as well, but it has yet to be used in a release.

Documentation

jemalloc was originally described in a paper I presented at the BSDcan conference in 2006. More recently I wrote a Facebook Engineering Blog Post which corresponds to jemalloc 2.1.0. The jemalloc(3) manual page completely documents the API, as well as run-time configuration.

Mailing lists

There are two mailing lists devoted to jemalloc:

 

History

jemalloc started out as the memory allocator for a programming language runtime in 2005, but language design changes made the allocator superfluous. At the time, FreeBSD was in need of an SMP-scalable allocator, so I integrated jemalloc into FreeBSD's libc, and then made a long series of improvements to scalability and fragmentation behavior.

In late 2007, the Mozilla Project was hard at work improving Firefox's memory usage for the 3.0 release, and jemalloc was used to solve fragmentation problems for Firefox on Microsoft Windows platforms. You can read here about the fruits of that labor. I made many enhancements to jemalloc while developing for Mozilla, and all of the generic algorithmic improvements were incorporated into FreeBSD's jemalloc. More recently, Mozilla sponsored integration of Apple Mac OS X support into the stand-alone jemalloc.

Since 2009 I have adapted jemalloc to handle the extreme loads Facebook servers commonly operate under. Facebook uses jemalloc in many components that are integral to serving its website. Facebook supports numerous open source projects, and is to thank for sponsoring many of the features that first appeared in the stand-alone jemalloc.


Copyright © 2012 Jason Evans < jasone@canonware.com>.
posted on 2012-10-15 19:30  lexus 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2012/10/15/2724902.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值