เป€เบˆเบกเบฒเบฅเบญเบ 5.3.1

เบซเบผเบฑเบ‡เบˆเบฒเบเบžเบฑเบเบœเปˆเบญเบ™เป€เบเบทเบญเบšเบชเบตเปˆเบ›เบต (เป€เบšเบดเปˆเบ‡ "jemalloc เบ—เบธเบเบขเปˆเบฒเบ‡ยป) เบเบฒเบ™เบ›เปˆเบญเบ 5.3.1 เบ‚เบญเบ‡เบ•เบปเบงเบˆเบฑเบ”เบชเบฑเบ™เป„เบ”เป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™ เปเบˆเบกเบฅเบญเบ - เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” malloc(3) เบ—เบตเปˆเป€เบ™เบฑเป‰เบ™เปœเบฑเบเปƒเบชเปˆเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เปเบ•เบเปเบเบ เปเบฅเบฐ เบเบฒเบ™เบชเบฐเปœเบฑเบšเบชเบฐเปœเบนเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบžเป‰เบญเบกเบเบฑเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰.

เบฅเบธเป‰เบ™เปƒเปเปˆเบ™เบตเป‰เบ›เบฐเบเบญเบšเบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 390 commits เบžเป‰เบญเบกเบ”เป‰เบงเบเบเบฒเบ™เปเบเป‰เป„เบ‚เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”, เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปƒเปเปˆ, เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš เปเบฅเบฐ เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป‚เบญเบ™เบเป‰เบฒเบ.

เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ‚เบฝเบ™เบ”เป‰เบงเบเบžเบฒเบชเบฒ C เปเบฅเบฐ เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD.

ะพะฒั‹ะตะฒะพะทะผะพะถะฝะพัั‚ะธ:

  • เบฎเบญเบ‡เบฎเบฑเบš pvalloc(3).
  • เบเบงเบ”เบžเบปเบšเบชเบญเบ‡เป€เบ—เบปเปˆเบฒเบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบงเปˆเบฒเบ‡เปƒเบ™ debug build;
  • เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก --enable-pageid เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบ„เบณเบšเบฑเบ™เบเบฒเบเบ—เบตเปˆเบชเป‰เบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบ„เบงเบฒเบกเบˆเบณ.
  • เป€เบžเบตเปˆเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต runtime prof_bt_max เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบ„เบงเบฒเบกเป€เบฅเบดเบเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡ stack เบชเบณเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ›เบฃเป„เบŸเบฅเปŒ;
  • เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก --enable-force-getenv เป€เบžเบทเปˆเบญเปƒเบŠเป‰ getenv เปเบ—เบ™ secure_getenv;
  • เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบ --disable-dss compile เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰ sbrk(2);
  • เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก tcache_ncached_max เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบˆเบณเบ™เบงเบ™เบฅเบฒเบเบเบฒเบ™เปƒเบ™เปเบ„เบ”เบ‚เบญเบ‡เบเบฐเบ—เบนเป‰.
  • เป€เบžเบตเปˆเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต runtime calloc_madvise_threshold เป€เบžเบทเปˆเบญเบเบณเบ™เบปเบ”เบงเปˆเบฒ kernel เบซเบผเบท memset เบ–เบทเบเบ™เบณเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบšเบฅเบฑเบญเบเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™เป„เบงเป‰เป€เบ›เบฑเบ™เบชเบนเบ™เป€เบกเบทเปˆเบญเป‚เบ—เบซเบฒ calloc;
  • เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบ --disable-user-config compile-time เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เบญเปˆเบฒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบˆเบฒเบเป„เบŸเบฅเปŒ /etc/malloc.conf เบซเบผเบทเบˆเบฒเบเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก MALLOC_CONF เปƒเบ™เป€เบงเบฅเบฒเป€เบฎเบฑเบ”เบงเบฝเบ.
  • เป„เบ”เป‰เป€เบžเบตเปˆเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต runtime disable_large_size_classes เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบญเบฑเบฅเบเปเบฃเบดเบ—เบถเบกเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เบฐเปœเบฒเบ”เปƒเปเปˆเบ—เบตเปˆเบกเบตเบขเบนเปˆ, เป€เบŠเบดเปˆเบ‡เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ‚เบญเบ‡เปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเป€เบกเบทเปˆเบญเบˆเบฑเบ”เบชเบฑเบ™เบšเบฅเบฑเบญเบเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเบ‚เบฐเปœเบฒเบ”เปƒเบซเบเปˆ, เป€เบŠเบฑเปˆเบ™: เบ”เป‰เบงเบเบ‚เบฐเปœเบฒเบ” >= 4 * PAGE;
  • เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ process_madvise เปเบฅเบฐ เป€เบžเบตเปˆเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต runtime process_madvise_max_batch เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบˆเบณเบ™เบงเบ™เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบžเบฒเบเบžเบทเป‰เบ™เปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเปƒเบ™เปเบ•เปˆเบฅเบฐ "batch" เบ‚เบญเบ‡ madvise;
  • เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ” mallctl เป„เบ”เป‰เป€เบžเบตเปˆเบกเปเบฅเป‰เบง:
    • opt.prof_bt_max;
    • เบชเบฐเปœเบฒเบกเบเบดเบฅเบฒ. .
    • thread.tcache.max เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เปเบ›เบ‡ เปเบฅเบฐ เบฎเบฑเบš tcache_max เบ‚เบญเบ‡ thread เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™;
    • thread.tcache.ncached_max.write เปเบฅเบฐ thread.tcache.ncached_max.read_sizeclass เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เปเบ›เบ‡ เปเบฅเบฐ เบฎเบฑเบš ncached_max เบ‚เบญเบ‡ thread เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™;
    • arenas.hugepage เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ„เบทเบ™เบ‚เบฐเปœเบฒเบ” hugepage เบ—เบตเปˆเปƒเบŠเป‰เปเบฅเป‰เบง, เบžเป‰เบญเบกเบ—เบฑเบ‡เบชเบปเปˆเบ‡เบญเบญเบเป„เบ›เบเบฑเบ‡เบชเบฐเบ–เบดเบ•เบด malloc;
    • approximate_stats.active เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบ„เปˆเบฒเบ›เบฐเบกเบฒเบ™เบ‚เบญเบ‡เบˆเบณเบ™เบงเบ™เป„เบšเบ•เปŒเบ—เบตเปˆเปƒเบŠเป‰เบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบ„เบงเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบชเบฐเบ–เบดเบ•เบดเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบ”เบถเบ‡เบกเบฒ.
  • เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบซเบผเบฒเบเบขเปˆเบฒเบ‡เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปเบฅเป‰เบง เปเบฅเบฐ เป€เบญเบเบฐเบชเบฒเบ™เบเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เบ”เบตเบ‚เบถเป‰เบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: linux.org.ru

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster