K dispozícii je knižnica na správu pamäte jemalloc 5.3.1

Štyri roky po vydaní predchádzajúcej aktualizácie je k dispozícii verzia knižnice správy pamäte jemalloc 5.3.1, ktorá ponúka alternatívnu implementáciu funkcií malloc, optimalizovanú na zníženie fragmentácie a fungovanie na viacprocesorových systémoch. Na vyriešenie problémov s blokovaním na viacjaderných systémoch využíva jemalloc pre každý jadro CPU svoju izolovanú oblasť správy pamäte, čo umožňuje dosiahnuť lineárnu škálovateľnosť s rastúcim počtom vlákien.

V júni 2025 autor projektu ukončil podporu a presunul repozitár jemalloc do archívneho režimu, ale pred mesiacom obnovila jeho vývoj spoločnosť Meta, ktorá používa jemalloc vo svojej infraštruktúre. Pôvodne bola knižnica vyvinutá pre FreeBSD a od roku 2005 sa používa v tejto operačnej sústave ako predvolená. Kód knižnice je napísaný v jazyku C a je šírený pod licenciou BSD.

Medzi zmenami:

  • Implementovaná funkcia pvalloc, ktorá môže byť užitočná pri výmene alokátora pamäte libc.
  • V ladení zostáv je zahrnutý režim detekcie dvojitého volania funkcie free(). Na nastavenie veľkosti zásobníka, v rámci ktorého sa vykonáva skenovanie, bol pridaný parameter debug_double_free_max_scan.
  • Pridaná možnosť zostaviť "--enable-pageid" na nastavovanie značiek pri mapovaní pamäte, s použitím prctl s príznakom PR_SET_VMA. Po povolení je možné mapovanie sledovať cez /proc//maps.
  • Pridaný parameter "prof_bt_max", ktorý umožňuje nastaviť maximálnu hĺbku zásobníka na profilovanie.
  • Pridaná možnosť zostaviť "--enable-force-getenv" na použitie bežnej funkcie getenv() namiesto zabezpečenej secure_getenv().
  • Pridaná možnosť zostaviť "--disable-dss" na vypnutie používania funkcie sbrk().
  • Pridaný parameter "tcache_ncached_max" na obmedzenie počtu prvkov v cache vlákien.
  • Pridaný parameter "calloc_madvise_threshold" na nastavenie používania mechanizmu jadra madvise alebo funkcie memset na nulovanie pamäte, pridelenej prostredníctvom funkcie calloc.
  • Pridaná možnosť zostaviť "--disable-user-config" na vypnutie načítania nastavení z súboru /etc/malloc.conf alebo z premennej prostredia MALLOC_CONF.
  • Pridaný parameter "process_madvise_max_batch" na obmedzenie počtu blokov pamäte pre každú dávkovú operáciu madvise.
  • Bol pridanej parameter „disable_large_size_classes“ na vypnutie nového algoritmu na výpočet veľkosti pridelené pamäte, ktorý znižuje režijné náklady pri pridelovaní blokov väčších ako 4 strany pamäte.
  • Do nástroja mallctl boli pridané možnosti: opt.prof_bt_max, arena.<i>.name, thread.tcache.max, thread.tcache.ncached_max.write, thread.tcache.ncached_max.read_sizeclass, arenas.hugepage a approximate_stats.active.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster