Minnehanteringsbiblioteket jemalloc 5.3.1 Àr tillgÀngligt

Fyra Är efter publiceringen av den senaste uppdateringen finns nu en ny version av minneshanteringsbiblioteket jemalloc 5.3.1, som erbjuder en alternativ implementation av malloc-funktioner, optimerad för att minska fragmentering och fungera pÄ multiprocessorsystem. För att lösa problem med lÄsningar pÄ flerkÀrniga system anvÀnder jemalloc ett isolerat minnesomrÄde för varje CPU-kÀrna, vilket möjliggör linjÀr skalbarhet nÀr antalet trÄdar ökar.

I juni 2025 upphörde projektets skapare att underhÄlla det och flyttade jemalloc-repositoriet till arkivlÀge, men för en mÄnad sedan Äterupptog Meta utvecklingen, som anvÀnder jemalloc i sin infrastruktur. Biblioteket utvecklades ursprungligen för FreeBSD och har anvÀnts som standard för detta operativsystem sedan 2005. Koden Àr skriven i C och distribueras under BSD-licensen.

Bland Àndringarna:

  • Funktionen pvalloc har implementerats, vilket kan vara anvĂ€ndbart vid ersĂ€ttning av libc:s minnesallokator.
  • I debug-versioner har en lĂ€ge för att upptĂ€cka dubbelanrop av free()-funktionen inkluderats. För att stĂ€lla in stackstorleken, inom vilken skanningen utförs, har en parameter debugging_double_free_max_scan lagts till.
  • En byggkonfiguration «—enable-pageid» har lagts till för att tilldela taggar under minnesmappning med prctl med flaggan PR_SET_VMA. NĂ€r den Ă€r aktiverad kan mappningen övervakas genom /proc//maps.
  • En parameter «prof_bt_max» har lagts till för att ange den maximala djupet av stacken för profilering.
  • En byggkonfiguration «—enable-force-getenv» har lagts till för att anvĂ€nda den vanliga funktionen getenv() istĂ€llet för den skyddade secure_getenv().
  • En byggkonfiguration «—disable-dss» har lagts till för att inaktivera anvĂ€ndningen av sbrk()-funktionen.
  • En parameter «tcache_ncached_max» har lagts till för att begrĂ€nsa antalet element i trĂ„dkatalogen.
  • En parameter «calloc_madvise_threshold» har lagts till för att konfigurera anvĂ€ndningen av kĂ€rnans madvise-mekanism eller memset-funktionen för att nollstĂ€lla minnet som tilldelats genom calloc-funktionen.
  • En byggkonfiguration «—disable-user-config» har lagts till för att inaktivera inlĂ€sningen av instĂ€llningar frĂ„n filen /etc/malloc.conf eller miljövariabeln MALLOC_CONF.
  • En parameter «process_madvise_max_batch» har lagts till för att begrĂ€nsa antalet minnesblock för varje batchoperation med madvise.
  • Ett nytt parameter "disable_large_size_classes" har lagts till för att avaktivera den nya algoritmen för berĂ€kning av allokerat minnesstorlek, vilket minskar overhead vid allokering av block som Ă€r större Ă€n 4 minnessidor.
  • Verktyget mallctl har fĂ„tt nya alternativ: opt.prof_bt_max, arena..name, thread.tcache.max, thread.tcache.ncached_max.write, thread.tcache.ncached_max.read_sizeclass, arenas.hugepage och approximate_stats.active.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster