เจœเฉˆเจฎเฉˆเจฒเฉ‹เจ• 5.3.1

เจฒเจ—เจญเจ— เจšเจพเจฐ เจธเจพเจฒเจพเจ‚ เจฆเฉ‡ เจฌเฉเจฐเฉ‡เจ• เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ (เจฆเฉ‡เจ–เฉ‹ "เจœเฉˆเจฎเจฒเฉ‹เจ• เจธเจญ เจ•เฉเจยป) เจเจฒเฉ‹เจ•เฉ‡เจŸเจฐ เจฆเฉ‡ 5.3.1 เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ เจนเฉ‹เจˆ jemalloc - malloc(3) เจฆเจพ เจ‡เฉฑเจ• เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจœเฉ‹ เจซเฉเจฐเฉˆเจ—เจฎเฉˆเจ‚เจŸเฉ‡เจธเจผเจจ เจฐเฉ‹เจ•เจฅเจพเจฎ เจ…เจคเฉ‡ เจธเจ•เฉ‡เจฒเฉ‡เจฌเจฒ เจ•เจจเจ•เจฐเฉฐเจธเฉ€ เจฒเจˆ เจธเจฎเจฐเจฅเจจ 'เจคเฉ‡ เจœเจผเฉ‹เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจจเจตเฉ€เจ‚ เจฐเจฟเจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจฌเฉฑเจ— เจซเจฟเจ•เจธ, เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ, เจ…เจคเฉ‡ เจชเฉ‹เจฐเจŸเฉ‡เจฌเจฟเจฒเจŸเฉ€ เจธเฉเจงเจพเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ 390 เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจฎเจฟเจŸ เจธเจผเจพเจฎเจฒ เจนเจจเฅค

เจ‡เจน เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ 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 เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจตเฉฑเจกเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฌเจฒเจพเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ“เจตเจฐเจนเฉˆเฉฑเจก เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ†เจ•เจพเจฐ >= 4 * 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;
    • เจตเจฐเจคเฉ‡ เจ—เจ hugepage เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐเจจ เจฒเจˆ arenas.hugepage, malloc stats เจจเฉ‚เฉฐ เจตเฉ€ เจจเจฟเจฐเจฏเจพเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ†;
    • approximate_stats.active เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฎเจพเจคเจฐเจพ เจฆเจพ เจ…เจจเฉเจฎเจพเจจเจฟเจค เจฎเฉเฉฑเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธเจฆเฉ€ เจคเฉเจฒเจจเจพ เจนเฉ‹เจฐ เจชเฉเจฐเจพเจชเจค เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจจเจพเจฒ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€เฅค
  • เจ•เจˆ เจฌเฉฑเจ— เจตเฉ€ เจ เฉ€เจ• เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจ…เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: linux.org.ru

DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ ๐Ÿ”ฅ DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ | ProHoster