Capítulo 5. Memória

Leia este capítulo para obter uma visão geral dos recursos de gerenciamento de memória disponíveis no Red Hat Enterprise Linux, e como utilizar estes recursos de gerenciamento para otimizar o uso de memória em seu sistema.

5.1. Buffer de Conversão Enorme à parte (Huge TLB)

Endereços de memória física são traduzidos para endereços de memória virtual como parte do gerenciamento de memória. A relação mapeada de endereços virtuais para físicas é armazenada numa estrutura de dados conhecida como a tabela de página. Como a leitura da tabela de páginas para cada endereço de mapeamento seria demorado e recursos caros, há um cache para os endereços usados recentemente. Esse cache é chamada de Buffer de Conversão à parte (TLB).
No entanto, a TLB só pode armazenar em cache tantos mapeamentos de endereço. Se um mapeamento de endereço solicitado não está na TLB, a tabela de páginas ainda deve ser lida para determinar o físico para o mapeamento de endereço virtual. Isto é conhecido como um "TLB miss". Aplicativos com grandes requerimentos de memória são mais propensos a ser afetados por falhas de TLB do que aplicativos com requerimento mínimo de memória, por causa da relação entre os seus requerimentos de memória e o tamanho das páginas usadas para mapeamentos de endereço de cache na TLB. Uma vez que cada falta envolve leitura da tabela de página, é importante para evitar a falha destes sempre que possível.
O Buffer Enorme de Conversão à parte (Huge TLB) permite que a memória seja gerenciada em grandes segmentos para que mais mapeamentos de endereços possam ficar em cache de uma só vez. Isto reduz a probabilidade das falhas de TLB, o que por sua vez aprimora o desempenho em aplicativos com grandes requerimentos de memória.
Informações sobre a configuração do HugeTLB pode ser encontrado na documentação do kernel: /usr/share/doc/kernel-doc-version/Documentation/vm/hugetlbpage.txt