jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. jemalloc first came into use as the FreeBSD libc allocator in 2005, and since then it has found its way into numerous applications that rely on its predictable behavior. In 2010 jemalloc development efforts broadened to include developer support features such as heap profiling and extensive monitoring/tuning hooks. Modern jemalloc releases continue to be integrated back into FreeBSD, and therefore versatility remains critical. Ongoing development efforts trend toward making jemalloc among the best allocators for a broad range of demanding applications, and eliminating/mitigating weaknesses that have practical repercussions for real world applications.
Documentation
jemalloc has evolved substantially over its lifetime, so although the older documentation is still broadly informative, many of the details are obsolete.
-
jemalloc(3) manual page: The manual page fully describes the API and options supported by jemalloc, and includes a brief summary of its internals.
-
Wiki: The wiki contains miscellaneous documentation such as links to papers and presentations, FAQ answers, and tutorials.
Project activity
The jemalloc project is managed on GitHub. In order of increasing interest level, the following are useful entry points:
-
Releases atom feed: Track releases using an atom feed reader of your choice.
-
Primary jemalloc repository: This is the primary jemalloc repository, with a small set of active branches including:
-
master: The master branch tracks stable releases.
-
dev: The dev branch tracks current development, and at any given time may not be production-ready.
-
stable-3/stable-4: The stable-* branches are bugfix-only branches based on the last releases for previous major versions. The versioned release history is linear, but relevant fixes may continue to be applied to the stable-* branches indefinitely.
-
-
Issues: The issue tracking system is used for all formal communication, including feature, bug, and release tracking, as well as questions (the question label is added during triage). As a starting point, see milestones, aka future releases.
-
Development activity subscription: Watch all development activity via GitHub notifications.
-
Gitter: Day-to-day chatter focused on jemalloc development. The primary jemalloc developers conduct much of their informal communication here; feel welcome to observe and/or join in.
Legacy
The jemalloc-announce and jemalloc-discuss mailing lists were retired in September 2016, but their archives remain available here.