рдЬрд╡рд│рдкрд╛рд╕ рдЪрд╛рд░ рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢реНрд░рд╛рдВрддреАрдирдВрддрд░ (рдкрд╣рд╛ "рдЬреЗрдореЕрд▓реЙрдХ рд╕рд░реНрд╡рдХрд╛рд╣реА┬╗) рдЕтАНреЕрд▓реЛрдХреЗрдЯрд░рдЪреНрдпрд╛ рел.рей.рез рдЖрд╡реГрддреНрддреАрдЪреЗ рдкреНрд░рдХрд╛рд╢рди рдЭрд╛рд▓реЗ. jemalloc тАУ malloc(3) рдЪреА рдЕрд╢реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЬреА рдлреНрд░реЕрдЧрдореЗрдВрдЯреЗрд╢рди рдкреНрд░рддрд┐рдмрдВрдз рдЖрдгрд┐ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдХреЙрдиреНрдХрд░рдиреНрд╕реАрд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рд╡рд░ рднрд░ рджреЗрддреЗ.
рдирд╡реАрди рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рдмрдЧ рдирд┐рд░рд╛рдХрд░рдг, рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ, рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгрд╛ рдЖрдгрд┐ рд╕реБрд╡рд╛рд╣реНрдпрддрд╛ рд╕реБрдзрд╛рд░рдгрд╛рдВрд╕рд╣ рейрепреж рд╣реВрди рдЕрдзрд┐рдХ рдХрдорд┐рдЯреНрд╕рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ.
рд╣рд╛ рдкреНрд░рдХрд▓реНрдк C рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЕрд╕реВрди BSD рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
рдирд╡реАрди рд╕рдВрдзреА:
- pvalloc(3) рд╕рдорд░реНрдерди.
- рдбреАрдмрдЧ рдмрд┐рд▓реНрдбрдордзреНрдпреЗ рдбрдмрд▓ рдлреНрд░реА рдЖрдврд│рд▓реЗ;
- рдореЗрдорд░реА-рдореЕрдк рдХреЗрд▓реЗрд▓реЗ ре▓рдиреЛрдЯреЗрд╢рди рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА --enable-pageid рдХрдВрдкрд╛рдИрд▓ рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛.
- рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧрд╕рд╛рдареА рдХрдорд╛рд▓ рд╕реНрдЯреЕрдХ рдбреЗрдкреНрде рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░рдирдЯрд╛рдЗрдо рдкреЕрд░рд╛рдореАрдЯрд░ prof_bt_max рдЬреЛрдбрд▓реЗ;
- secure_getenv рдРрд╡рдЬреА getenv рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА --enable-force-getenv рд╣рд╛ рдХрдВрдкрд╛рдИрд▓ рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛;
- sbrk(2) рдЪрд╛ рд╡рд╛рдкрд░ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА --disable-dss рд╕рдВрдХрд▓рди рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛;
- рдереНрд░реЗрдб рдХреЕрд╢реЗрдордзреАрд▓ рдЖрдпрдЯрдордЪреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА tcache_ncached_max рд╣рд╛ рдХрдВрдкрд╛рдИрд▓ рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛ рдЖрд╣реЗ.
- calloc рд▓рд╛ рдХреЙрд▓ рдХрд░рддрд╛рдирд╛ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реЗ рдореЗрдорд░реА рдмреНрд▓реЙрдХреНрд╕ рд╢реВрдиреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд░реНрдирд▓ рдХрд┐рдВрд╡рд╛ memset рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдИрд▓ рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА runtime parameter calloc_madvise_threshold рдЬреЛрдбрд▓реЗ;
- рд░рдирдЯрд╛рдЗрдорд╡рд░ /etc/malloc.conf рдлрд╛рдИрд▓рдордзреВрди рдХрд┐рдВрд╡рд╛ MALLOC_CONF рдПрдиреНрд╡реНрд╣рд╛рдпрд░реНрдирдореЗрдВрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреВрди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд╛рдЪрдгреЗ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА --disable-user-config рд╣рд╛ рдХрдВрдкрд╛рдИрд▓-рдЯрд╛рдЗрдо рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛ рдЖрд╣реЗ.
- рдирд╡реАрди рдЙрдкрд▓рдмреНрдз рдЖрдХрд╛рд░ рдЧрдгрдирд╛ рдЕрд▓реНрдЧреЛрд░рд┐рдердо рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА disable_large_size_classes рд╣рд╛ рд░рдирдЯрд╛рдЗрдо рдкреЕрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд▓рд╛ рдЖрд╣реЗ, рдЬреЛ рдореЛрдареЗ рдореЗрдорд░реА рдмреНрд▓реЙрдХреНрд╕ рд╡рд╛рдЯрдк рдХрд░рддрд╛рдирд╛ рдореЗрдорд░реА рдУрд╡реНрд╣рд░рд╣реЗрдб рдХрдореА рдХрд░рддреЛ, рдореНрд╣рдгрдЬреЗрдЪ рдЖрдХрд╛рд░ >= 4 * PAGE;
- process_madvise рдЪрд╛ рд╡рд╛рдкрд░ рд╕рдХреНрд╖рдо рдХреЗрд▓рд╛ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ madvise "рдмреЕрдЪ" рдордзреАрд▓ рдореЗрдорд░реА рдХреНрд╖реЗрддреНрд░рд╛рдВрдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА process_madvise_max_batch рд╣рд╛ рд░рдирдЯрд╛рдЗрдо рдкреЕрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд▓рд╛;
- mallctl рдЗрдВрдЯрд░рдлреЗрд╕ рдЬреЛрдбрд▓реЗ:
- opt.prof_bt_max;
- рдЕрд░рд┐рдирд╛рдЪреЗ
- рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдбрдЪрд╛ tcache_max рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА thread.tcache.max рд╡рд╛рдкрд░рд╛;
- рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдбрдЪрд╛ ncached_max рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА thread.tcache.ncached_max.write рдЖрдгрд┐ thread.tcache.ncached_max.read_sizeclass рд╡рд╛рдкрд░рд╛;
- рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд╣реНрдпреВрдЬрдкреЗрдЬрдЪрд╛ рдЖрдХрд╛рд░ рдкрд░рдд рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА arenas.hugepage, рддрд╕реЗрдЪ malloc stats рдордзреНрдпреЗ рдирд┐рд░реНрдпрд╛рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ;
- рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕рдХреНрд░рд┐рдп рдмрд╛рдЗрдЯреНрд╕рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдЪреЗ рдЕрдВрджрд╛рдЬреЗ рдореВрд▓реНрдп рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА approx_stats.active рд╡рд╛рдкрд░рд╛, рдЬреНрдпрд╛рдЪреА рддреБрд▓рдирд╛ рдЗрддрд░ рдорд┐рд│рд╡рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрд╢реА рдХрд░реВ рдирдпреЗ.
- рдЕрдиреЗрдХ рддреНрд░реБрдЯреА рджреВрд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ.
рд╕реНрддреНрд░реЛрдд: linux.org.ru
