Megjelent a jemalloc 5.3 memória-kezeli könyvtár

Megjelent a jemalloc 5.4.0 memória kezelő könyvtár új verziója, amely alternatív megvalósítást kínál a malloc funkciókhoz, optimalizálva a fragmentáció csökkentésére és a multiprocesszoros rendszerek működésére. A többmagos rendszerek zárolási problémáinak megoldására a jemalloc minden CPU maghoz saját, izolált memóriamegosztási területet használ, ami lineáris skálázhatóságot tesz lehetővé a szálak számának növekedésével.

2025 júniusában a projekt szerzője leállította a karbantartását, és archiválta a jemalloc tárolót, de az idén márciusban a Meta vállalat újraindította a fejlesztést, amely a jemalloc-ot az infrastruktúrájában alkalmazza. A könyvtár eredetileg a FreeBSD számára készült, és azóta alapértelmezettként használják ezen operációs rendszeren 2005 óta. A könyvtár kódja C nyelven íródott, és BSD licenc alatt terjesztik.

A változtatások közül:

  • Egyszerűsítették a tcache (Szál Helyi Cache) kitöltésének és visszaállításának logikáját, valamint a memóriaallokálás ütemezését.
  • Egységesítették a PAC (Hagyományos Oldal Allokátor) és HPA (Nagy Oldal Allokátor) memóriaallokátorokat. Eltávolították a vtable (PAI vtable) közvetett hívások bonyolult mechanizmusát.
  • A platformokra jellemző összes műveletet külön fejlécre helyezték a karbantartás és bővítés egyszerűsítése érdekében.
  • Egyszerűsítették a mallctl parancsok ütemezését, valamint átdolgozták a statisztika generálásának és kiírásának infrastruktúráját.
  • Hozzáadódott az EXTENT_ALLOC_FLAG_PINNED zászló, amely lehetővé teszi a memóriatérkép nem kiszorítható részeinek, például HugeTLB oldalak megjelölését, prioritásuk újrahasználására. A rögzített memória használatáról szóló statisztikákhoz új mallctl interfészek kerültek: stats.pinned, stats.arenas.<i>.pinned, stats.arenas.<i>.extents.<j>.npinned, stats.arenas.<i>.extents..pinned_bytes és stats.arenas.<i>.mutexes.extents_pinned.{counter}.
  • A malloc statisztikai tartalma szinkronizálva lett olvasható és JSON formátumban.
  • Eltávolították az elavult paramétereket lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div, és lg_tcache_flush_large_div.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster