Objavljena biblioteka za upravljanje memorijom jemalloc 5.3

Predstavljen je izdanak biblioteke za upravljanje memorijom jemalloc 5.4.0, koja nudi alternativnu implementaciju funkcija malloc, optimiziranu za smanjenje fragmentacije i rad na višestrukim procesorskim sustavima. Da bi se riješili problemi s blokadama na višejezgrenim sustavima, jemalloc koristi izolirano područje raspodjele memorije za svaku CPU jezgru, što omogućuje linearno skaliranje s povećanjem broja niti.

U lipnju 2025. godine autor projekta prekinuo je podršku i preveo jemalloc repozitorij u arhivski način rada, no u ožujku ove godine razvoj je obnovila tvrtka Meta, koja koristi jemalloc u svojoj infrastrukturi. Izvorno je biblioteka razvijena za FreeBSD i korištena je u ovom OS-u prema zadanim postavkama od 2005. godine. Kod biblioteke napisan je na C-u i distribuira se pod BSD licencom.

Između izmjena:

  • P pojednostavljena je logika popunjavanja i resetiranja tcache (Thread Local Cache), kao i upravljanje dodjelom memorije.
  • Ujedinjeni su alokatori fizičke memorije PAC (Page Allocator Classic) i HPA (Huge Page Allocator). Uklonjen je složeni mehanizam neizravnih poziva putem vtable (PAI vtable).
  • Za pojednostavljenje održavanja i proširenja platforme, sve platforme zavisne operacije premještene su u posebne zaglavlja.
  • P pojednostavljena je delegacija komandi mallctl, a također je preuređena infrastruktura za generiranje i prikaz statistike.
  • Dodana je zastavica EXTENT_ALLOC_FLAG_PINNED, koja omogućuje označavanje neizbacivih područja mapiranja memorije, kao što su stranice HugeTLB, za njihovo prioritetno ponovno korištenje. Za prikupljanje statistike o korištenju fiksne memorije dodani su novi sučelja mallctl: stats.pinned, stats.arenas.<i>.pinned, stats.arenas.<i>.extents.<j>.npinned, stats.arenas.<i>.extents..pinned_bytes i stats.arenas.<i>.mutexes.extents_pinned.{counter}.
  • Sinkroniziran je sadržaj statistike malloc u čitljivom i JSON formatu.
  • Uklonjeni su zastarjeli parametri lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div i lg_tcache_flush_large_div.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster