Išleista „jemalloc 5.3“ atminties valdymo biblioteka.

Išleista „jemalloc“ atminties valdymo bibliotekos 5.4.0 versija. Joje siūlomas alternatyvus „malloc“ funkcijų įgyvendinimas, optimizuotas fragmentacijos mažinimui ir veikimui daugiaprocesorinėse sistemose. Siekiant išspręsti blokavimo problemas daugiabranduolėse sistemose, „jemalloc“ kiekvienam CPU branduoliui naudoja savo izoliuotą atminties paskirstymo sritį, taip užtikrindama tiesinį mastelio keitimą didėjant gijų skaičiui.

2025 m. birželį projekto autorius nutraukė priežiūrą ir perkėlė „jemalloc“ saugyklą į archyvavimo režimą, tačiau šių metų kovą kūrimą atnaujino „Meta“, savo infrastruktūroje naudojanti „jemalloc“. Biblioteka iš pradžių buvo sukurta „FreeBSD“ ir nuo 2005 m. pagal numatytuosius nustatymus šioje operacinėje sistemoje naudojama. Bibliotekos kodas parašytas C kalba ir platinamas pagal BSD licenciją.

Tarp pakeitimų:

  • Supaprastinta gijų vietinės talpyklos (tcache) pildymo ir išvalymo, taip pat atminties paskirstymo dispečerinio valdymo logika.
  • „Page Allocator Classic“ (PAC) ir „HPA“ (didelių puslapių skirstytuvų) atminties puslapių skirstikliai buvo suvienodinti. Pašalintas sudėtingas netiesioginių iškvietimų per vtable (PAI vtable) mechanizmas.
  • Siekiant supaprastinti priežiūrą ir platformos plėtrą, visos nuo platformos priklausančios operacijos perkeliamos į atskirus antraštės failus.
  • Supaprastintas „mallctl“ komandų siuntimas, o statistikos generavimo ir rodymo infrastruktūra pertvarkyta.
  • Pridėta vėliavėlė EXTENT_ALLOC_FLAG_PINNED, leidžianti pažymėti ne iš anksto apribotus atminties susiejimo regionus, pvz., „HugeTLB“ puslapius, prioritetiniam pakartotiniam naudojimui. Pridėtos naujos „mallctl“ sąsajos, skirtos gauti prisegtos atminties naudojimo statistiką: stats.pinned, stats.arenas..pinned
  • Sinchronizuotas „malloc“ statistikos turinys žmonėms skaitomu ir JSON formatais.
  • Pašalinti nebenaudojami parametrai lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div ir lg_tcache_flush_large_div.

Šaltinis: opennet.ru

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster