рд▓рдЧрднрдЧ рдЪрд╛рд░ рд╡рд░реНрд╖рдХреЛ рдмреНрд░реЗрдХ рдкрдЫрд┐ (рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН "рд╕рдмреИрдереЛрдХ рдЬреЗрдорд▓реЛрдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН┬╗) рдПрд▓реЛрдХреЗрдЯрд░рдХреЛ рел.рей.рез рдХреЛ рд░рд┐рд▓реАрдЬ рднрдпреЛ 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 рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рдХрд┐ рд╣реБрдБрджреИрди рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рд░рдирдЯрд╛рдЗрдо рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ calloc_madvise_threshold рдердкрд┐рдпреЛ;
- /etc/malloc.conf рдлрд╛рдЗрд▓ рд╡рд╛ рд░рдирдЯрд╛рдЗрдордорд╛ MALLOC_CONF рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рдмрд╛рдЯ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рдкрдвреНрди рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрди --disable-user-config compile-time рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛред
- рдирдпрд╛рдБ рдЙрдкрд▓рдмреНрдз рд╕рд╛рдЗрдЬ рдЧрдгрдирд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рдХреНрд╖рдо рдЧрд░реНрди рд░рдирдЯрд╛рдЗрдо рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ disable_large_size_classes рдердкрд┐рдпреЛ, рдЬрд╕рд▓реЗ рдареВрд▓рд╛ рдореЗрдореЛрд░реА рдмреНрд▓рдХрд╣рд░реВ рдЖрд╡рдВрдЯрди рдЧрд░реНрджрд╛ рдореЗрдореЛрд░реА рдУрднрд░рд╣реЗрдбрд▓рд╛рдИ рдХрдо рдЧрд░реНрдЫ, рдЬрд╕реНрддреИ рд╕рд╛рдЗрдЬ >= рек * PAGE рднрдПрдХреЛ;
- рдкреНрд░рддреНрдпреЗрдХ madvise "batch" рдорд╛ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдХреЛ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди process_madvise рдХреЛ рдкреНрд░рдпреЛрдЧ рд╕рдХреНрд╖рдо рдкрд╛рд░рд┐рдпреЛ рд░ рд░рдирдЯрд╛рдЗрдо рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ process_madvise_max_batch рдердкрд┐рдпреЛ;
- mallctl рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдердкрд┐рдП:
- рдЕрдкреНрдЯ.рдкреНрд░реЛрдл_рдмреАрдЯреА_рдЕрдзрд┐рдХрддрдо;
- рд░рдВрдЧрд╢рд╛рд▓рд╛ред
- рд╣рд╛рд▓рдХреЛ рдереНрд░реЗрдбрдХреЛ tcache_max рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди thread.tcache.max рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН;
- рд╣рд╛рд▓рдХреЛ рдереНрд░реЗрдбрдХреЛ ncached_max рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди thread.tcache.ncached_max.write рд░ thread.tcache.ncached_max.read_sizeclass рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН;
- рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рд╡рд┐рд╢рд╛рд▓ рдкреГрд╖реНрда рдЖрдХрд╛рд░ рдлрд┐рд░реНрддрд╛ рдЧрд░реНрди arenas.hugepage, malloc рддрдереНрдпрд╛рдЩреНрдХрдорд╛ рдкрдирд┐ рдирд┐рд░реНрдпрд╛рдд рдЧрд░рд┐рдПрдХреЛ;
- approximate_stats.active рд╣рд╛рд▓рдХреЛ рд╕рдХреНрд░рд┐рдп рдмрд╛рдЗрдЯрд╣рд░реВрдХреЛ рдорд╛рддреНрд░рд╛рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЬреБрди рдЕрдиреНрдп рдкреНрд░рд╛рдкреНрдд рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВрд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрдиреБ рд╣реБрдБрджреИрдиред
- рдзреЗрд░реИ рдмрдЧрд╣рд░реВ рдкрдирд┐ рд╕рдорд╛рдзрд╛рди рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рд░ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреНред
рд╕реНрд░реЛрдд: linux.org.ru
