Disponohet biblioteka e menaxhimit të memories jemalloc 5.3.1

Pas më shumë se 4 vjet nga publikimi i përditësimit të kaluar, është e disponueshme gjenerata e bibliotekës për menaxhimin e memories jemalloc 5.3.1, e cila ofron një implementim alternatif të funksioneve malloc, e optimizuar për të minimizuar fragmentimin dhe për të punuar në sisteme me shumë procesorë. Për të zgjidhur problemet me bllokimet në sisteme me shumë bërthama, në jemalloc për çdo bërthamë CPU përdoret një zonë e veçantë për shpërndarjen e memories, gjë që lejon të arrihet shkallëzimi linear me rritjen e numrit të tërheqjeve.

Në qershor 2025, autori i projektit ndërpreu mbështetje dhe kaloi repositorin jemalloc në modalitetin arkiv, por një muaj më parë zhvillimi u rinovua nga kompania Meta, e cila përdor jemalloc në infrastrukturën e saj. Fillimisht, biblioteka u zhvillua për FreeBSD dhe përdoret në këtë OS si parazgjedhje që nga viti 2005. Kodi i bibliotekës është shkruar në C dhe shpërndahet nën licencën BSD.

Ndër ndryshimet:

  • ËshtĂ« realizuar funksioni pvalloc, i cili mund tĂ« jetĂ« i dobishĂ«m pĂ«r zĂ«vendĂ«simin e alokatorit tĂ« memories libc.
  • NĂ« ndĂ«rtimet pĂ«r debugging Ă«shtĂ« aktivizuar modaliteti i zb discovery-t tĂ« thirrjeve tĂ« dyfishta tĂ« funksionit free(). PĂ«r tĂ« konfiguruar madhĂ«sinĂ« e stack-ut, brenda tĂ« cilit kryhet skanimi, Ă«shtĂ« shtuar parametri debug_double_free_max_scan.
  • ËshtĂ« shtuar njĂ« mundĂ«si ndĂ«rtimi "--enable-pageid" pĂ«r tĂ« vendosur etiketat gjatĂ« mapimit tĂ« memories, duke pĂ«rdorur prctl me flamurin PR_SET_VMA. Pas aktivizimit, mapimi mund tĂ« monitorohet pĂ«rmes /proc//maps.
  • ËshtĂ« shtuar parametri "prof_bt_max", qĂ« lejon vendosjen e thellĂ«sisĂ« maksimale tĂ« stack-ut pĂ«r profilizimin.
  • ËshtĂ« shtuar mundĂ«sia e ndĂ«rtimit "--enable-force-getenv" pĂ«r tĂ« pĂ«rdorur nĂ« kod funksionin e zakonshĂ«m getenv() nĂ« vend tĂ« versionit tĂ« mbrojtur secure_getenv().
  • ËshtĂ« shtuar mundĂ«sia e ndĂ«rtimit "--disable-dss" pĂ«r tĂ« çaktivizuar pĂ«rdorimin e funksionit sbrk().
  • ËshtĂ« shtuar parametri "tcache_ncached_max" pĂ«r tĂ« kufizuar numrin e elementeve nĂ« cache tĂ« threads.
  • ËshtĂ« shtuar parametri "calloc_madvise_threshold" pĂ«r tĂ« konfiguruar pĂ«rdorimin e mekanizmit tĂ« kernelit madvise ose funksionit memset pĂ«r tĂ« zerozuar memorien e alokuar pĂ«rmes funksionit calloc.
  • ËshtĂ« shtuar mundĂ«sia e ndĂ«rtimit "--disable-user-config" pĂ«r tĂ« çaktivizuar ngarkimin e konfigurimeve nga skedari /etc/malloc.conf ose variabla e ambientit MALLOC_CONF.
  • ËshtĂ« shtuar parametri "process_madvise_max_batch" pĂ«r tĂ« kufizuar numrin e bllokimeve tĂ« memories pĂ«r çdo operacion batch tĂ« madvise.
  • ËshtĂ« shtuar parametri «disable_large_size_classes» pĂ«r tĂ« çaktivizuar algoritmin e ri tĂ« llogaritjes sĂ« madhĂ«sisĂ« sĂ« memorjes sĂ« alokuar, duke reduktuar kostot e menaxhimit pĂ«r alokimin e blloqeve mĂ« tĂ« mĂ«dha se 4 faqe memorje.
  • NĂ« utilitarin mallctl janĂ« shtuar opsionet: opt.prof_bt_max, arena.<i>.name, thread.tcache.max, thread.tcache.ncached_max.write, thread.tcache.ncached_max.read_sizeclass, arenas.hugepage dhe approximate_stats.active.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster