Գրեթե չորս տարվա ընդմիջումից հետո (տե՛ս «jemalloc ամեն ինչ») տեղի ունեցավ հատկացնողի 5.3.1-ի թողարկումը jemalloc – malloc(3)-ի իրականացում, որը շեշտը դնում է մասնատման կանխարգելման և մասշտաբային զուգահեռականության աջակցության վրա։

Նոր թողարկումը ներառում է ավելի քան 390 «commit»՝ սխալների շտկումներով, նոր գործառույթներով, կատարողականի օպտիմալացմամբ և փոխադրելիության բարելավումներով։

Նախագիծը գրված է C լեզվով և տարածվում է BSD լիցենզիայով։

Նոր առանձնահատկություններ.

  • pvalloc(3) աջակցություն։
  • կրկնակի անվճար հայտնաբերվեց debug կառուցվածքում։
  • Ավելացվել է --enable-pageid կոմպիլյացիայի տարբերակը՝ հիշողության մեջ քարտեզագրված նշումները միացնելու համար։
  • Ավելացվել է prof_bt_max գործարկման պարամետրը՝ պրոֆիլավորման համար առավելագույն կուտակման խորությունը կառավարելու համար։
  • Ավելացվել է compile --enable-force-getenv տարբերակը՝ secure_getenv-ի փոխարեն getenv օգտագործելու համար։
  • Ավելացվել է --disable-dss կոմպիլյացիայի տարբերակը՝ sbrk(2)-ի օգտագործումը անջատելու համար։
  • Ավելացվել է tcache_ncached_max կոմպիլյացիայի տարբերակը՝ թելերի քեշում տարրերի քանակը կառավարելու համար։
  • Ավելացվել է calloc_madvise_threshold կատարողական պարամետրը՝ որոշելու համար, թե արդյոք calloc-ը կանչելիս հատկացված հիշողության բլոկները զրոյացնելու համար օգտագործվում է միջուկը, թե մեմսեթը։
  • Ավելացվել է --disable-user-config compile-time տարբերակը՝ /etc/malloc.conf ֆայլից կամ MALLOC_CONF միջավայրի փոփոխականից կարգավորումների ընթերցումը գործարկման ժամանակ անջատելու համար։
  • Ավելացվել է disable_large_size_classes գործարկման պարամետրը՝ նոր հասանելի չափի հաշվարկման ալգորիթմը միացնելու համար, որը նվազագույնի է հասցնում հիշողության ծանրաբեռնվածությունը մեծ հիշողության բլոկներ հատկացնելիս, այսինքն՝ չափսով >= 4 * PAGE;
  • Միացվել է process_madvise-ի օգտագործումը և ավելացվել է process_madvise_max_batch գործարկման պարամետրը՝ յուրաքանչյուր madvise "batch"-ում հիշողության տիրույթների առավելագույն քանակը կառավարելու համար։
  • mallctl ինտերֆեյսները ավելացվել են՝
    • opt.prof_bt_max;
    • arena.
    • thread.tcache.max՝ ընթացիկ թելի tcache_max-ը փոխելու և ստանալու համար։
    • thread.tcache.ncached_max.write և thread.tcache.ncached_max.read_sizeclass-ը՝ ընթացիկ թելի ncached_max-ը փոխելու և ստանալու համար։
    • arenas.hugepage՝ օգտագործված hugepage չափը վերադարձնելու համար, որը նույնպես արտահանվում է malloc stats։
    • approximate_stats.active՝ ակտիվ բայթերի ընթացիկ քանակի մոտավոր արժեքը ստանալու համար, որը չպետք է համեմատվի այլ ստացված վիճակագրության հետ։
  • Շատ սխալներ նույնպես շտկվել են, և փաստաթղթավորումը բարելավվել է։

Source: linux.org.ru

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster