Majdnem négy év szünet után (lásd: „jemalloc minden”) megjelent a 5.3.1 memóriakezelő — az 5.1.0 verzióra, – a malloc(3) megvalósítása, amely kiemelt figyelmet fordít a fragmentáció megelőzésére és a skálázható párhuzamosság támogatására.
Az új kiadás több mint 390 commitot tartalmaz a hibajavításokkal, új funkciókkal, teljesítményoptimalizálással és a hordozhatóság javításával.
A projekt C nyelven íródott és BSD licenc alatt terjesztik.
Új lehetőségek:
- pvalloc(3) támogatás.
- dupla memóriakiadás észlelése a hibakereső buildben;
- hozzáadva a —enable-pageid fordítási opció a megjelenített memória annotációjának engedélyezésére.
- hozzáadva egy runtime paraméter: prof_bt_max a profilozás mélységének maximális szabályozására;
- hozzáadva a —enable-force-getenv fordítási opció a getenv secure_getenv helyett történő használatához;
- hozzáadva a —disable-dss fordítási opció az sbrk(2) használatának letiltására;
- hozzáadva a tcache_ncached_max fordítási opció a szálakban lévő elemek számának kezelésére a cache-ben.
- hozzáadva a runtime paraméter: calloc_madvise_threshold annak megállapítására, hogy az kernel vagy a memset használatos-e a calloc hívásakor allokált blokkok nullázására;
- hozzáadva a —disable-user-config fordítási opció a futásidőbeli konfigurációk betöltésének letiltására a \/etc\/malloc.conf fájlból vagy a MALLOC_CONF környezeti változóból;
- hozzáadva a disable_large_size_classes runtime paraméter az új eljárás méret kalkulációjának biztosítására, amely minimalizálja a memóriaköltségeket nagy memória blokkok allokálásakor, azaz ha a méret >= 4 * PAGE;
- a process_madvise használata engedélyezve és hozzáadva a process_madvise_max_batch runtime paraméter a memóriaterületek maximális számának kezelésére minden „batch” madvise során;
- mallctl interfészek hozzáadva:
- opt.prof_bt_max;
- arena.<i>.name a „területek” nevének módosításához és megszerzéséhez;
- thread.tcache.max a jelenlegi szál tcache_max-jának módosításához és megszerzéséhez;
- thread.tcache.ncached_max.write és thread.tcache.ncached_max.read_sizeclass a jelenlegi szál ncached_max-jának módosításához és megszerzéséhez;
- arenas.hugepage a használt hugepage méretének visszaadásához, amely a malloc statisztikában is exportálásra kerül;
- approximate_stats.active a jelenleg aktív byte-ok hozzávetőleges mennyiségének beszerzéséhez, amelyet nem szabad más beszerzett statisztikai adatokkal összehasonlítani.
- számos hiba javítva és a dokumentáció javítva.
Forrás: linux.org.ru
