O Facebook propôs um novo mecanismo de gerenciamento de memória slab para o núcleo Linux

Roman Gushchin (Roman Gushchin) da empresa Facebook publicou na lista de distribuição para desenvolvedores do núcleo Linux um conjunto de patches com a implementação de um novo controlador de alocação de memória slab (controlador de memória slab). O novo controlador se destaca pela transferência da contabilização de slab do nível de páginas de memória para o nível de objetos do núcleo, permitindo o uso compartilhado de páginas slab em diferentes cgroups, em vez da alocação de caches slab separados para cada cgroup.

A abordagem proposta permite aumentar a eficiência do uso do slab, reduzindo em 30-45% o tamanho da memória ocupada para slab e diminuindo significativamente o consumo total de memória pelo núcleo. Com a redução do número de slabs não móveis, também há um efeito positivo na redução da fragmentação de memória. O novo controlador de memória simplifica consideravelmente o código para contabilização de slabs e não requer algoritmos complexos para criação e remoção dinâmica de caches slab para cada cgroup. Todos os cgroups para memória na nova implementação utilizam um conjunto comum de caches slab, e a vida útil dos caches slab não está mais ligada ao tempo de vida dos estabelecidos através do cgroup restrições no uso de memória.

A contabilização mais precisa dos recursos no novo controlador slab deve teoricamente sobrecarregar mais a CPU, mas na prática as diferenças resultaram insignificantes. Em particular, o novo controlador slab já está em uso há vários meses em servidores operacionais do Facebook que processam diferentes tipos de carga, e regressões significativas não foram detectadas até agora. Observou-se uma redução considerável no consumo de memória - em alguns hosts, foi possível economizar até 1GB de memória, embora essa métrica dependa fortemente da natureza da carga, do tamanho total da RAM, do número de CPUs e das características do trabalho com a memória. Testes anteriores foi apresentado mostraram uma redução no consumo de memória de 650-700 MB (42% da memória slab) na frente web, 750-800 MB (35%) em um servidor com cache de banco de dados e 700 MB (36%) em um servidor DNS.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster