Configurando Hugepages
Dica publicada em Linux / Introdução
Configurando Hugepages
Nessa dica vamos aumentar o tamanho de paginação "hugepage". Por padrão a mesma vem com 2048kB, iremos aumentar para 12G e explicarei como é feito o cálculo.
Vamos verificar o tamanho de nossa hugepage atual, com o comando:
cat /proc/meminfo | grep -i hugepage
Vamos criar o ponto de montagem. Criando o diretório:
mkdir /mnt/hugepages
Dando as permissões:
chmod -R 777 /mnt/hugepages
Montagem:
mount -t hugetlbfs nodev /mnt/hugepages
Vamos adicionar a montagem no /etc/fstab para subir com o sistema operacional.
Acesse o arquivo "fstab":
# vi /etc/fstab
E adicione a seguinte linha:
Para testar, dê o comando abaixo:
# mount | grep -i huge
Resultado:
mount | grep -i huge
hugetlbfs on /mnt/hugepages type hugetlbfs (rw,mode=0777)
Explicação:
512 Paginas = 2048 kB (padrão, com o comando cat /proc/meminfo | grep -i huge, você pode constar esse valor na linha "Hugepagesize").
No nosso caso, queremos aumentar para 12G, então:
(12 x 1024 x 1024) / 2048 = 6144 páginas
Vamos consultar novamente:
cat /proc/meminfo | grep -i hugepage
# echo 6144 > /proc/sys/vm/nr_hugepages
Ou:
# sysctl -w vm.nr_hugepages=6144
Nos casos acima, o comando não fica permanente. Para que seja permanente, dê o comando abaixo:
# echo "vm.nr_hugepages=6144" >> /etc/sysctl.conf
Ou acesse direto o arquivo /etc/sysctl.conf e altere o parametro: "vm.nr_hugepages"
Vamos reler o arquivo e aplicar a nova paginação:
# sysctl -p
Verifique se mudou o valor de paginação:
cat /proc/meminfo | grep -i hugepage
;)
Vamos verificar o tamanho de nossa hugepage atual, com o comando:
cat /proc/meminfo | grep -i hugepage
AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kBPor padrão o mesmo vem com 2048kB.
Vamos criar o ponto de montagem. Criando o diretório:
mkdir /mnt/hugepages
Dando as permissões:
chmod -R 777 /mnt/hugepages
Montagem:
mount -t hugetlbfs nodev /mnt/hugepages
Vamos adicionar a montagem no /etc/fstab para subir com o sistema operacional.
Acesse o arquivo "fstab":
# vi /etc/fstab
E adicione a seguinte linha:
hugetlbfs /mnt/hugepages hugetlbfs rw,mode=0777 0 0
Para testar, dê o comando abaixo:
# mount | grep -i huge
Resultado:
mount | grep -i huge
hugetlbfs on /mnt/hugepages type hugetlbfs (rw,mode=0777)
Aumentando paginação
Agora, vamos aumentar a paginação para 12G.Explicação:
512 Paginas = 2048 kB (padrão, com o comando cat /proc/meminfo | grep -i huge, você pode constar esse valor na linha "Hugepagesize").
No nosso caso, queremos aumentar para 12G, então:
(12 x 1024 x 1024) / 2048 = 6144 páginas
Vamos consultar novamente:
cat /proc/meminfo | grep -i hugepage
AnonHugePages: 2048 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kBSete o valor da paginação:
# echo 6144 > /proc/sys/vm/nr_hugepages
Ou:
# sysctl -w vm.nr_hugepages=6144
Nos casos acima, o comando não fica permanente. Para que seja permanente, dê o comando abaixo:
# echo "vm.nr_hugepages=6144" >> /etc/sysctl.conf
Ou acesse direto o arquivo /etc/sysctl.conf e altere o parametro: "vm.nr_hugepages"
Vamos reler o arquivo e aplicar a nova paginação:
# sysctl -p
Verifique se mudou o valor de paginação:
cat /proc/meminfo | grep -i hugepage
AnonHugePages: 0 kB HugePages_Total: 6144 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kBEspero ter ajudado!
;)
Eu estou tentando usar o huge_page = on no arquivo postgres.conf
Fiz essas configurações mas não consigo fazer funcionar
O meu postgres não conecta se habilito hugepages
Se eu desabilito ele funciona
Já viu isso acontecer?
Eu uso Ubuntu 20.04