De geheugenbeheer bibliotheek jemalloc 5.3 is gepubliceerd.

De release van de geheugenbeheerbibliotheek jemalloc 5.4.0 is gepresenteerd, die een alternatieve implementatie van malloc-functies biedt, geoptimaliseerd om fragmentatie te verminderen en uit te voeren op multiprocessorsystemen. Om problemen met blokkeringen op multicore systemen te verhelpen, gebruikt jemalloc een geĆÆsoleerd geheugenallocatiegebied voor iedere CPU-kern, waardoor lineaire schaalbaarheid mogelijk is bij een toenemend aantal threads.

In juni 2025 stopte de auteur van het project met de ondersteuning en zette de jemalloc-repository in archiefmodus, maar in maart dit jaar herstartte Meta, die jemalloc in zijn infrastructuur gebruikt, de ontwikkeling. De bibliotheek werd oorspronkelijk ontwikkeld voor FreeBSD en wordt sinds 2005 standaard in dit besturingssysteem gebruikt. De code van de bibliotheek is geschreven in C en wordt verspreid onder de BSD-licentie.

Onder de wijzigingen:

  • De logica voor het vullen en resetten van tcache (Thread Local Cache) is vereenvoudigd, evenals de toewijzingsdistributie van geheugen.
  • De geheugenallocators PAC (Page Allocator Classic) en HPA (Huge Page Allocator) zijn verenigd. De ingewikkelde indirecte oproepmechanisme via vtable (PAI vtable) is verwijderd.
  • Om het onderhoud en de uitbreiding van de platforms te vereenvoudigen, zijn alle platformafhankelijke operaties in afzonderlijke headerbestanden ondergebracht.
  • De afhandeling van mallctl-opdrachten is vereenvoudigd, evenals de infrastructuur voor het genereren en presenteren van statistieken.
  • Een nieuwe vlag EXTENT_ALLOC_FLAG_PINNED is toegevoegd, waarmee niet-afdwingbare geheugenmappinggebieden, zoals HugeTLB-pagina's, kunnen worden gemarkeerd voor prioritaire herbruikbaarheid. Nieuwe mallctl-interfaces zijn toegevoegd voor het verkrijgen van statistieken over het gebruik van vastgehouden geheugen: stats.pinned, stats.arenas.<i>.pinned, stats.arenas.<i>.extents.<j>.npinned, stats.arenas.<i>.extents..pinned_bytes en stats.arenas.<i>.mutexes.extents_pinned.{counter}.
  • De inhoud van malloc-statistieken is gesynchroniseerd in leesbare en JSON-formaten.
  • Verouderde parameters lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div en lg_tcache_flush_large_div zijn verwijderd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster