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