As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando o Multi-Gen LRU (MGLRU) em 023 kernels AL2
O Multi-Gen LRU
O mecanismo tradicional da LRU usa um modelo de duas listas (ativo e inativo) para rastrear o uso da página, o que pode se tornar ineficiente em cargas de trabalho modernas com grandes conjuntos de trabalho. O MGLRU substitui isso por várias “gerações” de páginas, permitindo que o kernel tome decisões mais inteligentes com base em informações mais refinadas sobre o envelhecimento.
Os benefícios do MGLRU incluem:
-
Melhores decisões de recuperação: identificação mais precisa de páginas frias (não utilizadas).
-
Menor latência e melhor taxa de transferência: especialmente para cargas de trabalho com grandes espaços de endereço ou muitos processos simultâneos.
-
Retenção de cache aprimorada: páginas usadas recentemente têm menos probabilidade de serem removidas prematuramente.
-
Design escalável e eficiente em termos de bloqueio: funciona melhor em máquinas com muitos. CPUs
Configuração e ajuste
A configuração do kernel CONFIG_LRU_GEN
está habilitada em AL2 023 kernels. Isso é compilado no MGLRU, mas não o habilita por padrão.
O MGLRU pode ser ativado e ajustado usando o arquivo. /sys/kernel/mm/lru_gen/enabled
O valor é uma máscara de bits. Recomenda-se ativar todos os componentes, a menos que alguns deles tenham efeitos colaterais indesejáveis.
Bit | Componentes |
---|---|
0 |
O switch principal para a LRU de várias gerações. |
1 |
Limpando o bit acessado nas entradas da tabela da página folha em grandes lotes, quando o MMU o define (por exemplo, em x86). Teoricamente, esse comportamento pode piorar a contenção de bloqueios (). mmap_lock Se estiver desativada, a LRU de várias gerações sofrerá uma pequena degradação de desempenho para cargas de trabalho que mapeiam páginas ativas de forma contígua, cujos bits acessados podem ser eliminados por menos lotes maiores. |
2 |
Limpando também o bit acessado em entradas de tabela de páginas que não sejam folhas, quando o MMU o define (por exemplo, em x86). Esse comportamento não foi verificado em variedades x86 além da Intel e da AMD. Se estiver desativada, a LRU de várias gerações sofrerá uma degradação insignificante do desempenho. |
[yYnN] |
Enable/disable todos os componentes acima. |
Um exemplo de como o MGLRU pode ser ativado:
[ec2-user ~]$
echo y >/sys/kernel/mm/lru_gen/enabled
Isso permite que todos os componentes:
[ec2-user ~]$
cat /sys/kernel/mm/lru_gen/enabled
0x0007