แž‡แŸแž˜แŸ‰แžถแžกแžปแž€ แŸฅ.แŸฃ.แŸก

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแžŸแž˜แŸ’แžšแžถแž€แž‡แžทแžแž”แžฝแž“แž†แŸ’แž“แžถแŸ† (แžŸแžผแž˜แž˜แžพแž› "jemalloc แžขแŸ’แžœแžธแŸ—แž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„ยป) แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ 5.3.1 แž“แŸƒแžขแŸ’แž“แž€แž”แŸ‚แž„แž…แŸ‚แž€แž”แžถแž“แž€แžพแžแžกแžพแž„ แž‡แŸแž˜แŸ‰แžถแžกแžผแž€ โ€“ แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž malloc(3) แžŠแŸ‚แž›แžŸแž„แŸ’แž€แžแŸ‹แž’แŸ’แž„แž“แŸ‹แž›แžพแž€แžถแžšแž”แž„แŸ’แž€แžถแžšแž€แžถแžšแž”แŸ‚แž€แžแŸ’แž‰แŸ‚แž€ แž“แžทแž„แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž’แŸ’แžœแžพแž˜แžถแžแŸ’แžšแžŠแŸ’แž‹แžถแž“แž€แŸ’แž“แžปแž„แž–แŸแž›แžŠแŸ†แžŽแžถแž›แž‚แŸ’แž“แžถแŸ”

แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžแŸ’แž˜แžธแž“แŸแŸ‡แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‘แžถแŸ†แž„แž€แžถแžšแž”แŸ’แžแŸแž‡แŸ’แž‰แžถแž…แžทแžแŸ’แžแž‡แžถแž„ 390 แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž€แŸ‚แž€แŸ†แž แžปแžŸ แž˜แžปแžแž„แžถแžšแžแŸ’แž˜แžธแŸ— แž€แžถแžšแž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš แž“แžทแž„แž€แžถแžšแž€แŸ‚แž›แž˜แŸ’แžขแž—แžถแž–แž„แžถแž™แžŸแŸ’แžšแžฝแž›แž…แž›แŸแžแŸ”

แž‚แž˜แŸ’แžšแŸ„แž„แž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแž‡แžถแž—แžถแžŸแžถ C แž แžพแž™แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ BSDแŸ”

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

  • แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš pvalloc(3)แŸ”
  • แžšแž€แžƒแžพแž‰แž—แžถแž–แž‘แŸ†แž“แŸแžšแž‘แŸ’แžœแŸแžŠแž„แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแžแž€แžถแžšแž”แŸ†แž”แžถแžแŸ‹แž€แŸ†แž แžปแžŸแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‡แž˜แŸ’แžšแžพแžŸแž…แž„แž€แŸ’แžšแž„ --enable-pageid แžŠแžพแž˜แŸ’แž”แžธแž”แžพแž€แž…แŸ†แžŽแžถแžšแž–แž“แŸ’แž™แž›แŸ‹แžŠแŸ‚แž›แž‚แžผแžŸแž•แŸ‚แž“แž‘แžธแžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžš prof_bt_max แžŠแžพแž˜แŸ’แž”แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž‡แž˜แŸ’แžšแŸ…แž‡แž„แŸ‹แžขแžแžทแž”แžšแž˜แžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžœแžทแž—แžถแž‚แž‘แž˜แŸ’แžšแž„แŸ‹แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‡แž˜แŸ’แžšแžพแžŸแž…แž„แž€แŸ’แžšแž„ --enable-force-getenv แžŠแžพแž˜แŸ’แž”แžธแž”แŸ’แžšแžพ getenv แž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™ secure_getenv;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‡แž˜แŸ’แžšแžพแžŸแž…แž„แž€แŸ’แžšแž„ --disable-dss แžŠแžพแž˜แŸ’แž”แžธแž”แžทแž‘แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ sbrk(2);
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‡แž˜แŸ’แžšแžพแžŸแž…แž„แž€แŸ’แžšแž„ tcache_ncached_max แžŠแžพแž˜แŸ’แž”แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž…แŸ†แž“แžฝแž“แž’แžถแžแžปแž“แŸ…แž€แŸ’แž“แžปแž„แžƒแŸ’แž›แžถแŸ†แž„แžŸแž˜แŸ’แž„แžถแžแŸ‹แžแŸ’แžŸแŸ‚แžŸแŸ’แžšแžกแžถแž™แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžš calloc_madvise_threshold แžŠแžพแž˜แŸ’แž”แžธแž€แŸ†แžŽแžแŸ‹แžแžถแžแžพ kernel แžฌ memset แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŠแžพแž˜แŸ’แž”แžธแž›แžปแž”แž”แŸ’แž›แžปแž€แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แžŠแŸ‚แž›แž”แžถแž“แž”แŸ‚แž„แž…แŸ‚แž€แž“แŸ…แž–แŸแž›แž แŸ… calloc แžŠแŸ‚แžšแžฌแž‘แŸแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž‡แž˜แŸ’แžšแžพแžŸ --disable-user-config compile-time แžŠแžพแž˜แŸ’แž”แžธแž”แžทแž‘แž€แžถแžšแžขแžถแž“แž€แžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž–แžธแžฏแž€แžŸแžถแžš /etc/malloc.conf แžฌแž–แžธแžขแžแŸแžšแž”แžšแžทแžŸแŸ’แžแžถแž“ MALLOC_CONF แž“แŸ…แž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžš disable_large_size_classes แžŠแžพแž˜แŸ’แž”แžธแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แŸ’แž”แžฝแž“แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž‚แžŽแž“แžถแž‘แŸ†แž แŸ†แžแŸ’แž˜แžธแžŠแŸ‚แž›แžขแžถแž…แž”แŸ’แžšแžพแž”แžถแž“ แžŠแŸ‚แž›แž€แžถแžแŸ‹แž”แž“แŸ’แžแž™แž”แž“แŸ’แž‘แžปแž€แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แž“แŸ…แž–แŸแž›แž”แŸ‚แž„แž…แŸ‚แž€แž”แŸ’แž›แžปแž€แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แž’แŸ†แŸ— แž–แŸ„แž›แž‚แžบแž˜แžถแž“แž‘แŸ†แž แŸ† >= 4 * PAGE;
  • แž”แžถแž“แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ process_madvise แž แžพแž™แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž–แŸแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžš process_madvise_max_batch แžŠแžพแž˜แŸ’แž”แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž…แŸ†แž“แžฝแž“แžขแžแžทแž”แžšแž˜แžถแž“แŸƒแžแŸ†แž”แž“แŸ‹แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แž“แŸ…แž€แŸ’แž“แžปแž„ "batch" madvise แž“แžธแž˜แžฝแž™แŸ—แŸ”
  • แž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹ 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 แžŠแžพแž˜แŸ’แž”แžธแž‘แž‘แžฝแž›แž”แžถแž“แžแž˜แŸ’แž›แŸƒแž”แŸ’แžšแž แžถแž€แŸ‹แž”แŸ’แžšแž แŸ‚แž›แž“แŸƒแž…แŸ†แž“แžฝแž“แž”แŸƒแžŸแž€แž˜แŸ’แž˜แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“ แžŠแŸ‚แž›แž˜แžทแž“แž‚แžฝแžšแžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแŸ€แž”แž’แŸ€แž”แž‡แžถแž˜แžฝแž™แžŸแŸ’แžแžทแžแžทแžŠแŸ‚แž›แž”แžถแž“แž‘แžถแž‰แž™แž€แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž‘แŸแŸ”
  • แž€แŸ†แž แžปแžŸแž‡แžถแž…แŸ’แžšแžพแž“แž€แŸแžแŸ’แžšแžผแžœแž”แžถแž“แž‡แžฝแžŸแž‡แžปแž›แž•แž„แžŠแŸ‚แžš แž แžพแž™แžฏแž€แžŸแžถแžšแž€แŸแžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แž•แž„แžŠแŸ‚แžšแŸ”

แž”แŸ’แžšแž—แž–: linux.org.ru

แž‘แžทแž‰แž€แžถแžšแž”แž„แŸ’แž แŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS, แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS ๐Ÿ”ฅ แž‘แžทแž‰แžŸแŸแžœแžถแž”แž„แŸ’แž แŸ„แŸ‡แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS | ProHoster