Jemalloc 5.4.0 lands with over 160 commits and a new pinned-memory feature
Jemalloc 5.4.0 brings over 160 commits focused on technical debt cleanup, portability, and new features. The release introduces EXTENT_ALLOC_FLAG_PINNED for marking non-reclaimable mappings like HugeTLB pages, along with mallctl interfaces to report pinned-memory usage. It also adapts tcache fill and retention targets per bin based on demand, removes seven legacy controls, and fixes bugs including errno preservation across free and a potential deadlock in arena_reset.
Adapt tcache fill and retention targets per bin to demand observed between GC events, replacing the fixed refill/flush policy.
- vocx2tx
For some context on why this release is notable: Jemalloc Postmortem [0]
- lordnacho
I always wondered, is it French? "Je m'alloc du memory"
- ksec
Ok. Why both the homepage and its Github repo doesn't make a single mention of Jason Evans? I know he stepped down but surely it is at least worst mentioning it?
Is Meta still using it and developing it? If not who are the driving force behind it now? I just checked there wasn't a release since 2022 and then we have this now. Something changed?
Just wish we have a little bit of context. But it is also great it is continue being maintained. It makes a huge difference for Ruby on Rails Apps.
- albertgoeswoof
I switched to jemalloc on a sidekiq queue and memory dropped from 8gib to under 1gib
There’s a slow memory leak somewhere in my code but with jemalloc it no longer actually matters.
Thanks to jemalloc team for this!
- skavi
does anyone familiar with the art have thoughts on why only tcmalloc switched from thread caches to cpu caches? would it make linux behavior diverge too much from other platforms?