Ir para conteúdo
Fórum Script Brasil
  • 0

erro huge_pages on


Rivando

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 1

Bom dia, provavelmente o sistema operacional não está configurado para trabalhar com huge pages, execute o comando abaixo para fazer essa verificação.

grep '^HugePages' /proc/meminfo

Caso o HugePages_Total for igual a zero, você pode incluir a linha abaixo no arquivo /etc/sysctl.conf, no meu caso, estou configurando 256 páginas de 2MB, que é o tamanho padrão.

vm.nr_hugepages=256

No link tem um pequeno tutorial.

https://tureba.org/postgresql-linux.html

image.png.0821718fbe9dfbd7755d8bdb56b253f4.png
 

Editado por Ronivaldo Lopes
Link para o comentário
Compartilhar em outros sites

  • 1

Boa noite, eu usei um editor de texto e fiz a inclusão da linha vm.nr_hugepages=256 no final do arquivo /etc/sysctl.conf. Salvei e reinicializei a maquina e as 256 huge pages foram criadas. Esse é o primeiro passo, criar as huge pages. Execute o comando abaixo para verificar.

grep '^HugePages' /proc/meminfo

No meu notebook tenho Linux Mint rodando somente com o PostgreSQL. Acabei de ligá-lo e executei o comando acima para verificar o uso do HugePages, das 256 páginas criadas, 126 foram reservadas, variável HugePages_Rsvd, na tela da resposta anterior era 127, você criou somente 99 páginas, seja generoso, esse número tem que ser maior e com bastante folga. Você precisa entender o funcionamento do huge_pages no PostgreSQL.

O padrão do huge_pages no PostgreSQL, é o try, significa que trabalha no modo protegido. Quando o PostgreSQL solicitar do sistema operacional páginas maiores e não houver disponibilidade, ele recebe as páginas de tamanho padrão e continua trabalhando normalmente, usufruindo das vantagens das huge pages quando disponíveis.

Quando você muda para on, está forçando o PostgreSQL a trabalhar com o número limitado de huge pages criadas pelo sistema operacional, e deixará de funcionar sempre que uma solicitação de uma huge pages for negada, nem inicializa, e se já estiver funcionando, irá travar e será finalizado para liberar os recursos bloqueados, inclusive as huge pages.

A opção try sempre vai usar huge pages, independente da quantidade, basta está disponível, já a opção on, faltou huge pages, travou, simples assim.

Eu mudaria a configuração para on, somente se o equipamento for um servidor dedicado e possuir bastante memória ram, dezenas ou centenas de GB, ou seja, um servidor PARRUDO.

Editado por Ronivaldo Lopes
Link para o comentário
Compartilhar em outros sites

  • 0
5 horas atrás, Ronivaldo Lopes disse:

Bom dia, provavelmente o sistema operacional não está configurado para trabalhar com huge pages, execute o comando abaixo para fazer essa verificação.

grep '^HugePages' /proc/meminfo

Caso o HugePages_Total for igual a zero, você pode incluir a linha abaixo no arquivo /etc/sysctl.conf, no meu caso, estou configurando 256 páginas de 2MB, que é o tamanho padrão.

vm.nr_hugepages=256

No link tem um pequeno tutorial.

https://tureba.org/postgresql-linux.html

image.png.0821718fbe9dfbd7755d8bdb56b253f4.png
 

Obrigado Ronivaldo

Tentei seguir esse tutorial, mas ainda não consegui fazer funcionar.
Talvez eu esteja errando na permissão de grupo

Peguei o GID do grupo postgres olhando em /etc/group
postgres:x:130:

Assim segui com o comando

sysctl -w vm.hugetlb_shm_group=130

sysctl -w vm.nr_hugepages=99
 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 02/04/2022 em 02:25, Ronivaldo Lopes disse:

Boa noite, eu usei um editor de texto e fiz a inclusão da linha vm.nr_hugepages=256 no final do arquivo /etc/sysctl.conf. Salvei e reinicializei a maquina e as 256 huge pages foram criadas. Esse é o primeiro passo, criar as huge pages. Execute o comando abaixo para verificar.

grep '^HugePages' /proc/meminfo

No meu notebook tenho Linux Mint rodando somente com o PostgreSQL. Acabei de ligá-lo e executei o comando acima para verificar o uso do HugePages, das 256 páginas criadas, 126 foram reservadas, variável HugePages_Rsvd, na tela da resposta anterior era 127, você criou somente 99 páginas, seja generoso, esse número tem que ser maior e com bastante folga. Você precisa entender o funcionamento do huge_pages no PostgreSQL.

O padrão do huge_pages no PostgreSQL, é o try, significa que trabalha no modo protegido. Quando o PostgreSQL solicitar do sistema operacional páginas maiores e não houver disponibilidade, ele recebe as páginas de tamanho padrão e continua trabalhando normalmente, usufruindo das vantagens das huge pages quando disponíveis.

Quando você muda para on, está forçando o PostgreSQL a trabalhar com o número limitado de huge pages criadas pelo sistema operacional, e deixará de funcionar sempre que uma solicitação de uma huge pages for negada, nem inicializa, e se já estiver funcionando, irá travar e será finalizado para liberar os recursos bloqueados, inclusive as huge pages.

A opção try sempre vai usar huge pages, independente da quantidade, basta está disponível, já a opção on, faltou huge pages, travou, simples assim.

Eu mudaria a configuração para on, somente se o equipamento for um servidor dedicado e possuir bastante memória ram, dezenas ou centenas de GB, ou seja, um servidor PARRUDO.

Ronivaldo, consegui fazer funcionar deixando vm.nr_hugepages=3170
Aumentando as paginas como você me disse fez funcionar


Mas acho que ainda não entendi o funcionamento correto dessa função 

Vou tentar encontrar alguma um calculo para chegar ao numero de paginas ideal para a configuração do meu servidor
Muito obrigado por sua ajuda 

Gratidão
 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...