FERRAMENTAS LINUX: Redução de Consumo de Memória no Kernel Linux 6.10: A Revolução do SLUB

sábado, 13 de abril de 2024

Redução de Consumo de Memória no Kernel Linux 6.10: A Revolução do SLUB

 


Prepare-se para uma mudança significativa no kernel Linux. Um patch para o alocador SLUB foi colocado na fila para a próxima janela de mesclagem do Kernel Linux 6.10. 

Este patch promete ajudar a reduzir o consumo de memória em cenários extremos.

Desenvolvido pelo engenheiro da Huawei, Chen Jun, este patch é um avanço significativo na gestão de memória. Chen Jun detalhou o funcionamento do patch:

Quando a função kmalloc_node() é chamada sem __GFP_THISNODE e o nó de destino não tem memória suficiente, o SLUB aloca um fólio de um nó diferente do nó solicitado. No entanto, como o fólio alocado não pertence ao nó solicitado, ele é desativado e adicionado à lista de placas parciais do nó ao qual pertence na próxima alocação.

Este comportamento pode resultar em uso excessivo de memória quando o nó solicitado tem memória insuficiente. Para evitar isso, o patch implementa uma nova lógica:

1- Tenta obter uma placa parcial do nó de destino apenas tendo __GFP_THISNODE em pc.flags para get_partial().

2- Se o passo 1 falhar, tenta alocar um novo bloco do nó de destino com o GFP_NOWAIT | __GFP_THISNODE de forma oportunista.

3- Se o passo 2 falhar, tenta novamente com o gfpflags originais.

Em testes realizados em uma VM QEMU com quatro des NUMA, cada um com 1 GB de memória, Chen descobriu que o número de objetos alocados via /proc/slabinfo caiu de 13.519.712 para 4.200.768 objetos. Isso representa apenas 31% do número original de objetos alocados encontrados nos kernels Linux atuais neste caso extremo.

O patch está atualmente no branch “for-next” do repositório SLAB.git, aguardando a janela de mesclagem do Kernel Linux 6.10 que chegará em meados de maio.

Descubra mais sobre esta revolução na gestão de memória no Kernel Linux 6.10. A era da eficiência de memória começa aqui!





Fonte 

Até a próxima !!

Nenhum comentário:

Postar um comentário