Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Desabilitar páginas grandes transparentes (THP)

Nesta página

  • Crie um arquivo de serviço
  • Uso de tuned e ktune

Transparent Huge Pages (THP) é um sistema de gerenciamento de memória Linux que reduz a sobrecarga de pesquisas de TLB (Translation Lookaside Buffer) em máquinas com grandes quantidades de memória usando páginas de memória maiores.

No entanto, as cargas de trabalho do banco de dados geralmente funcionam mal com o THP ativado, porque elas tendem a ter padrões de acesso à memória esparsos em vez de contíguos. Ao executar MongoDB no Linux, THP deve ser desabilitado para melhor desempenho.

Para garantir que o THP seja desativado antes da inicialização do mongod, você deve criar um arquivo de serviço para o sistema de inicialização da sua plataforma que desative o THP na inicialização. As instruções são fornecidas abaixo para os sistemas de inicialização systemd e System V init.

Além disso, para sistemasRHEL / CentOS que fazem uso de perfis de desempenho ktune e tuned, você também deve criar um perfil de tuned personalizado.

Para criar um arquivo de serviço que desabilita THP, você usará o sistema de inicialização integrado para sua plataforma. Versões recentes do Linux tendem a utilizar systemd (que utiliza o comando systemctl), enquanto versões mais antigas do Linux tendem a utilizar System V init (que utiliza o comando service). Consulte a documentação do seu sistema operacional para obter mais informações.

Escolha o sistema de inicialização adequado para sua plataforma:

Importante

Ao usar tuned ou ktune, você também deverá executar as etapas nesta seção após criar o arquivo de serviço acima.

tuned e ktune são ferramentas dinâmicas de ajuste de configurações do kernel, que podem afetar a configuração da transparent huge pages no seu sistema. Se você estiver usando tuned / ktune no seu sistema RHEL / CentOS enquanto estiver executando mongod, será necessário criar um perfil tuned personalizado para garantir que a THP permaneça desativada.

1

Crie um novo perfil utilizando um perfil existente copiando o diretório relevante. Este exemplo utiliza o perfil virtual-guest como base e utiliza virtual-guest-no-thp como o novo perfil:

sudo cp -r /etc/tune-profiles/virtual-guest /etc/tune-profiles/virtual-guest-no-thp
2

Edite /etc/tune-profiles/virtual-guest-no-thp/ktune.sh e altere a configuração set_transparent_hugepages para o seguinte:

set_transparent_hugepages never
3

Habilite o novo perfil:

sudo tuned-adm profile virtual-guest-no-thp
1

Crie um novo diretório para manter o perfil tuned personalizado. Este exemplo herda do perfil virtual-guest existente e usa virtual-guest-no-thp como o novo perfil:

sudo mkdir /etc/tuned/virtual-guest-no-thp
2

Crie e edite /etc/tuned/virtual-guest-no-thp/tuned.conf de forma que contenha o seguinte:

[main]
include=virtual-guest
[vm]
transparent_hugepages=never

Este exemplo herda do perfil virtual-guest existente. Selecione o perfil mais apropriado para o seu sistema.

3

Habilite o novo perfil:

sudo tuned-adm profile virtual-guest-no-thp
← Saída do analisador de banco de dados