Роман Гущин (
Предложенный подход позволяет повысить эффективность использования slab, на 30-45% сократить размер используемой для slab памяти и значительно уменьшить общее потребление памяти ядром. За счёт сокращения числа неперемещаемых slab также наблюдается положительный эффект в области снижения фрагментации памяти. Новый контроллер памяти заметно упрощает код для учёта slab и не требует применения усложнённых алгоритмов динамического создания и удаления slab-кэшей для каждой cgroup. Все cgroup для памяти в новой реализации используют общий набор кэшей slab, а время жизни кэшей slab больше не привязано к времени жизни установленных через cgroup
Реализованный в новом контроллере slab более точный учёт ресурсов теоретически должен больше нагружать CPU, но на практике различия оказались несущественными. В частности, новый контроллер slab уже несколько месяцев используется на рабочих серверах Facebook, обрабатывающих разные виды нагрузки, и заметных регрессий пока не выявлено. При этом наблюдается существенное снижение расхода памяти — на некоторых хостах удалось сэкономить до 1ГБ памяти, но данный показатель сильно зависит от характера нагрузки, общего размера ОЗУ, числа CPU и особенностей работы с памятью. Ранее проведённые тесты
Источник: opennet.ru