jemalloc 5.3.1

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

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