Latest Slab Cgroup Memory Controller Patches Saving ~1GB RAM Per Host On Facebook Servers
The past number of months Facebook engineering has been working on a new slab memory controller for Linux that can offer less memory fragmentation and lower memory use and slab utilization. The sixth version of these patches were published earlier this month.
Facebook's Roman Gushchin who has been spearheading the new cgroup slab memory controller posted the new patches earlier this month. These patches are based against the latest Linux memory management code as their primary change along with other code improvements.
Roman did reiterate with the latest patches, "This leads to a significant win in the slab utilization (up to 45%) and the corresponding drop in the total kernel memory footprint. The reduced number of unmovable slab pages should also have a positive effect on the memory fragmentation...The more precise accounting does require more CPU, however in practice the difference seems to be negligible. We've been using the new slab controller in Facebook production for several months with different workloads and haven't seen any noticeable regressions. What we've seen were memory savings in order of 1 GB per host (it varied heavily depending on the actual workload, size of RAM, number of CPUs, memory pressure, etc)."
Assuming these big improvements continue panning out after further testing, let's hope these patches make it into Linux 5.9 or so. Especially with already being in use on production Facebook servers is a good proving ground.
Facebook's Roman Gushchin who has been spearheading the new cgroup slab memory controller posted the new patches earlier this month. These patches are based against the latest Linux memory management code as their primary change along with other code improvements.
Roman did reiterate with the latest patches, "This leads to a significant win in the slab utilization (up to 45%) and the corresponding drop in the total kernel memory footprint. The reduced number of unmovable slab pages should also have a positive effect on the memory fragmentation...The more precise accounting does require more CPU, however in practice the difference seems to be negligible. We've been using the new slab controller in Facebook production for several months with different workloads and haven't seen any noticeable regressions. What we've seen were memory savings in order of 1 GB per host (it varied heavily depending on the actual workload, size of RAM, number of CPUs, memory pressure, etc)."
Assuming these big improvements continue panning out after further testing, let's hope these patches make it into Linux 5.9 or so. Especially with already being in use on production Facebook servers is a good proving ground.
30 Comments