PĂ€rast peaaegu nelja-aastast pausi (vt "jemalloc kĂ”ik») toimus jaoturi 5.3.1 vabastamine jemalloc â malloc(3) implementatsioon, mis rĂ”hutab fragmentatsiooni ennetamist ja skaleeritava samaaegsuse tuge.
Uus versioon sisaldab ĂŒle 390 commit'i koos veaparanduste, uute funktsioonide, jĂ”udluse optimeerimiste ja kaasaskantavuse tĂ€iustustega.
Projekt on kirjutatud C keeles ja levitatakse BSD litsentsi alusel.
Uued funktsioonid:
- pvalloc(3) tugi.
- silumisjÀrgus versioonis tuvastati topeltvaba;
- Lisatud kompileerimisvalik --enable-pageid mÀlukaardistatud mÀrkuste lubamiseks.
- Lisatud kĂ€itusaja parameeter prof_bt_max, et kontrollida profileerimise maksimaalset pinu sĂŒgavust;
- Lisatud kompileerimisvalik --enable-force-getenv, et kasutada secure_getenv asemel getenv-i;
- Lisatud kompileerimisvalik --disable-dss sbrk(2) kasutamise keelamiseks;
- LĂ”ime vahemĂ€lus olevate ĂŒksuste arvu juhtimiseks on lisatud kompileerimisvalik tcache_ncached_max.
- Lisatud kÀitusaja parameeter calloc_madvise_threshold, et mÀÀrata, kas calloc'i kutsumisel kasutatakse eraldatud mÀluplokkide nullimiseks kerneli vÔi memsetti;
- Lisatud on kompileerimise ajal valik --disable-user-config, et keelata konfiguratsioonide lugemine failist /etc/malloc.conf vÔi keskkonnamuutujast MALLOC_CONF kÀitusajal.
- Lisatud on kĂ€itusaja parameeter disable_large_size_classes, et lubada uus saadaolev suuruse arvutamise algoritm, mis minimeerib mĂ€lu ĂŒldkulu suurte mĂ€luplokkide eraldamisel, st suurusega >= 4 * PAGE;
- Lubatud on process_madvise kasutamine ja lisatud kÀitusaja parameeter process_madvise_max_batch, et kontrollida iga madvise'i "partii" maksimaalset mÀlupiirkondade arvu;
- mallctl liidesed lisatud:
- opt.prof_bt_max;
- areen.
- thread.tcache.max, et muuta ja saada praeguse lÔime tcache_max;
- thread.tcache.ncached_max.write ja thread.tcache.ncached_max.read_sizeclass, et muuta ja saada praeguse lÔime ncached_max;
- arenas.hugepage, et tagastada kasutatud hugepage'i suurus, mis eksporditakse ka malloc statistikasse;
- approximate_stats.active, et saada aktiivsete baitide praeguse arvu ligikaudne vÀÀrtus, mida ei tohiks vÔrrelda muu hangitud statistikaga.
- Samuti on parandatud palju vigu ja tÀiustatud dokumentatsiooni.
Allikas: linux.org.ru
