Jemalloc 5.4.0 bringt 160 Commits nach Metas Neustart
Die erste jemalloc-Version seit Metas erneuertem Engagement bringt über 160 Commits, eine neue Betriebssystem-Abstraktionsschicht und Arena-Auswahl pro CPU.
Von Claire Whitmore
3 Min. Lesezeit
Maschinell übersetzt aus dem englischen Original, das Claire Whitmore auf Fakten geprüft und redigiert hat. Es gilt die englische Fassung. So arbeiten wir

Die Zahlen
- commits in the 5.4.0 release
- 160+
- developers credited in the release notes
- 13
Jemalloc 5.4.0 erschien am 17. September 2026 mit mehr als 160 Commits von 13 Entwicklern. Die Release Notes beschreiben es als Aufräum-Release, und genau das ist die Nachricht. Jemalloc bewegte sich jahrelang kaum. Meta erklärte Anfang dieses Jahres, wieder in das Projekt zu investieren.
Ein Speicher-Allocator ist der Code, der Speicher herausgibt, wenn ein Programm darum bittet. Jeder malloc-Aufruf in C, und jede Heap-Allokation in einer darauf aufbauenden Sprache, läuft durch einen solchen. Jemalloc ist die Alternative, zu der Server greifen, wenn der Standard-Allocator Speicher fragmentiert oder unter vielen Threads langsam wird. Phoronix hält fest, dass es für Server- und HPC-Lasten beliebt bleibt, mit etwas Einsatz auch auf dem Desktop.
Was sich in 5.4.0 geändert hat
| Änderung | Was sie bewirkt |
|---|---|
| Über 160 Commits Aufräumarbeit | Refactoring, Fehlerbehebungen, mehr Testabdeckung und aufgeräumte Build-Optionen |
| Neue Betriebssystem-Abstraktionsschicht | Bündelt plattformspezifischen Code hinter einer Schnittstelle |
| Modularisiertes Front-End | Teilt die Einstiegspunkte in kleinere, trennbare Stücke |
| Arena-Auswahl pro CPU | Ein Thread kann seine Arena wieder nach CPU wählen, über thread.arena |
EXTENT_ALLOC_FLAG_PINNED | Markiert ein Mapping in eigenen Extent-Hooks als nicht rückgebbar |
| Fixes für GCC-16-Warnungen | Baut sauber mit dem neuesten Compiler |
Die Abstraktionsschicht ist die größte strukturelle Änderung. Sie sammelt die Teile, die sich je Betriebssystem unterscheiden. Diese Liste umfasst Datei- und Prozess-Ein- und -Ausgabe, Zeit, Synchronisation, CPU-Behandlung, virtuellen Speicher, Fork-Behandlung, Fehlerbehandlung, Profiling, Thread-Yield und Konfigurationszugriff. All das liegt nun hinter einer Schnittstelle, statt über den Code verstreut zu sein.
Eine Arena ist jemallocs Einheit der Trennung. Jede hält eigene Speicherpools, sodass Threads in verschiedenen Arenas weniger miteinander konkurrieren. Auswahl pro CPU heißt, ein Thread kann sich an die Arena binden, die zu seiner CPU passt. Das hält den Speicher näher am Kern, der ihn nutzt.
Extent-Hooks sind die andere fortgeschrittene Stellschraube. Sie erlauben es, jemalloc eigenen Speicher zu übergeben, etwa aus einem geteilten Mapping oder von einem Gerät. Das neue Pinned-Flag sagt jemalloc, dass ein solches Mapping nie an das System zurückgegeben werden darf.
Warum ein Aufräum-Release die Nachricht ist
Die Release Notes sagen, die Arbeit habe sich auf "das Aufräumen technischer Schulden konzentriert, einschließlich Refactorings, Fehlerbehebungen, besserer Testabdeckung und aufgeräumter Optionen". Das ist keine Funktionsliste, und genau darum geht es. Metas erneuertes Engagement, von Phoronix hervorgehoben, kommt als Wartung und nicht als Feuerwerk neuer Optionen.
Diese Reihenfolge zählt für alle, die überlegen, wieder auf das Projekt zu setzen. Redis, Rust-Programme mit entsprechender Option sowie viele Datenbank- und Storage-Server liefern jemalloc seit Jahren mit. Ein Projekt, das nur Features annimmt, sammelt genau jene plattformspezifischen Sonderfälle an, die den nächsten Port schmerzhaft machen.
Was das für Entwickler bedeutet
Wer jemalloc bereits einbindet, hat mit 5.4.0 ein unaufgeregtes Upgrade zum Testen. Prüfen Sie es gegen die eigene Last statt gegen eine Benchmark-Suite, denn das Verhalten eines Allocators hängt von Allokationsgrößen und Threadzahlen ab, die nur Ihre Anwendung kennt. Achten Sie auf residenten Speicher und Tail-Latenz, nicht nur auf Durchsatz.
Wer einen Port auf eine seltenere Plattform pflegt, liest zuerst die Betriebssystem-Abstraktionsschicht. Plattformcode, der früher in verstreuten #ifdef-Blöcken lag, hat nun einen Ort. Das sollte einen Out-of-Tree-Patch kleiner und leichter pflegbar machen.
Die Arena-Option pro CPU lohnt eine Messung auf Maschinen mit vielen Kernen. Sie hilft am meisten, wenn viele Threads gleichzeitig allozieren und die Sperren des Allocators zum Engpass werden. Testen Sie es, statt einen Gewinn anzunehmen, und vergleichen Sie mit Ihrer aktuellen Arena-Zahl.
Behandeln Sie zuletzt die GCC-16-Fixes als Signal für den eigenen Build. Distributionen wechseln zu diesem Compiler, und eine Abhängigkeit, die laut warnt, bricht später einen strengen Build.
Quellen
- Release 5.4.0 - GitHub
- Jemalloc 5.4 Released With Portability Improvements, Code Cleanups - Phoronix
Ähnliche Artikel

OpenBSD 8.0 bringt WPA3, Post-Quanten-TLS und RISC-V-Vektoren
Das 61. OpenBSD-Release bringt WPA3, Post-Quanten-Schlüsselaustausch in LibreSSL 4.4.0, OpenSSH 10.6 und 13.060 amd64-Pakete und stellt loongson ein.

DRBD 9 rückt mit 7 Vorbereitungs-Patches näher an Mainline-Linux
LINBIT hat am 23. September 7 Patches veröffentlicht, die den DRBD-8.4-Code des Kernels in Richtung DRBD 9 umbauen, das bis zu 31 Peers pro Volume unterstützt.

TorchTPU: Google veröffentlicht natives PyTorch für TPUs als Open Source
TorchTPU führt PyTorch nativ auf Google-TPUs aus und bestand bei 98 % von 4.917 getesteten Hugging-Face-Modellen. PyTorch/XLA ist veraltet und wird am 15. November archiviert.