เป€เบŸเบชเบšเบธเบเป„เบ”เป‰เบชเบฐเป€เบซเบ™เบตเบเบปเบ™เป„เบเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ slab เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบš Linux kernel

Roman Gushchin (Roman Gushchin) เบˆเบฒเบโ€‹เป€เบŸโ€‹เบชโ€‹เบšเบธเบโ€‹ เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบฒเบ‡เป„เบ›เบชเบฐเบ™เบตเบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Linux kernel เบŠเบธเบ”เบ‚เบญเบ‡ patches เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปƒเบซเบกเปˆ เบเบฒเบญเบฑเบ”เบ›เบฒเบเบ‚เบธเบก (เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ‚เบญเบ‡เปเบœเปˆเบ™). เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเปƒเบซเบกเปˆเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบฑเบ‡เป€เบเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเป‰เบฒเบเบšเบฑเบ™เบŠเบต slab เบˆเบฒเบเบฅเบฐเบ”เบฑเบšเบซเบ™เป‰เบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป„เบ›เบชเบนเปˆเบฅเบฐเบ”เบฑเบšเบงเบฑเบ”เบ–เบธ kernel, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบซเบ™เป‰เบฒ slab เปƒเบ™ cgroups เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบˆเบฑเบ”เบชเบฑเบ™ slab caches เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ cgroup.

เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ slab, เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบš slab เป‚เบ”เบ 30-45%, เปเบฅเบฐเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป‚เบ”เบเบฅเบงเบกเบ‚เบญเบ‡ kernel. เป‚เบ”เบเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบญเบฑเบ”เบ›เบฒเบเบ‚เบธเบกเบ—เบตเปˆเบšเปเปˆเป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆ, เบเบฑเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบšเบงเบเปƒเบ™เบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เปเบ•เบเปเบเบเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ. เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเปƒเบซเบกเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบŠเบตเบ‚เบญเบ‡เบเบฒเบญเบฑเบ”เบ›เบฒเบเบกเบปเบ”เบฅเบนเบเบ‡เปˆเบฒเบเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปเบฅเบฐเบšเปเปˆเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบฅเบถเบš slab caches เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ cgroup. cgroup เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบซเบกเปˆเปƒเบŠเป‰เบŠเบธเบ”เบ—เบปเปˆเบงเป„เบ›เบ‚เบญเบ‡ slab caches, เปเบฅเบฐเบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡ slab caches เบˆเบฐเบšเปเปˆเบ–เบทเบเบœเบนเบเบกเบฑเบ”เบเบฑเบšเบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบœเปˆเบฒเบ™ cgroup. เบ‚เปเป‰เบˆเบณเบเบฑเบ” เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ.

เบเบฒเบ™เบšเบฑเบ™เบŠเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบเบงเปˆเบฒเบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก slab เปƒเบซเบกเปˆเบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบตเบ„เบงเบ™เป‚เบซเบฅเบ” CPU เบซเบผเบฒเบเบ‚เบถเป‰เบ™, เปเบ•เปˆเปƒเบ™เบ—เบฒเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”, เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบšเปเปˆเบชเปเบฒเบ„เบฑเบ™. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบเบฒเบญเบฑเบ”เบ›เบฒเบเบ‚เบธเบกเปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบผเบฒเบเป€เบ”เบทเบญเบ™เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เป€เบŠเบตเบŸเป€เบงเบต Facebook เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ›เบฐเป€เบžเบ”เบ•เปˆเบฒเบ‡เป†เบ‚เบญเบ‡เบงเบฝเบ, เปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบ–เบปเบ”เบ–เบญเบเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบตเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ - เปƒเบ™เบšเบฒเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบชเบฒเบกเบฒเบ”เบ›เบฐเบซเบเบฑเบ”เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป„เบ”เป‰เป€เบ–เบดเบ‡ 1GB, เปเบ•เปˆเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบเบฒเบ™เป‚เบซเบผเบ”, เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ RAM, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ CPU. เปเบฅเบฐเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ. เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™ เบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป‚เบ”เบ 650-700 MB (42% เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ slab) เปƒเบ™เบซเบ™เป‰เบฒเป€เบงเบฑเบš, 750-800 MB (35%) เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบต cache DBMS เปเบฅเบฐ 700 MB (36%) เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DNS.

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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™