Rivando Postado Março 31, 2022 Denunciar Share Postado Março 31, 2022 Quando habilito o huge_pages= on no postgres.conf meu postgres 14 para de funcionar Alguém já viu isso acontecer? SO ubuntu 20.04 Citar Link para o comentário Compartilhar em outros sites More sharing options...
1 Ronivaldo Lopes Postado Abril 1, 2022 Denunciar Share Postado Abril 1, 2022 (editado) 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 Editado Abril 1, 2022 por Ronivaldo Lopes Citar Link para o comentário Compartilhar em outros sites More sharing options...
1 Ronivaldo Lopes Postado Abril 2, 2022 Denunciar Share Postado Abril 2, 2022 (editado) 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 Abril 2, 2022 por Ronivaldo Lopes Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rivando Postado Abril 1, 2022 Autor Denunciar Share Postado Abril 1, 2022 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 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rivando Postado Abril 5, 2022 Autor Denunciar Share Postado Abril 5, 2022 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rivando
Quando habilito o
huge_pages= on no postgres.conf meu postgres 14 para de funcionar
Alguém já viu isso acontecer?
SO ubuntu 20.04
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.