Estou recebendo o seguinte aviso de mongodb sobre THP
2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
Mas consegui desligar o THP manualmente
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
I fez o truque, adicionando transparent_hugepage=never
a GRUB_CMDLINE_LINUX_DEFAULT
em /etc/default/grub
e adicionando
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
para /etc/rc.local
Como posso evitar o aviso?
linux
mongodb
linux-kernel
Frederick Zhang
fonte
fonte
sudo service mongod restart
e o aviso sumiu! obrigado! isso é estranho, por que não posso simplesmente reiniciar a VM?Respostas:
A documentação oficial do MongoDB oferece várias soluções para esse problema. Você também pode tentar esta solução , que funcionou para mim:
Observação: tente as diretivas de documentação oficial se a versão do MongoDB for superior a 3.0
Abra o
/etc/init.d/mongod
arquivo.(se não houver tal arquivo, você deve verificar
/etc/init.d/mongod
,/etc/init/mongod.conf
arquivos - crédito: os comentários abaixo)Adicione as linhas abaixo imediatamente
chown $DAEMONUSER /var/run/mongodb.pid
antes e depoisend script
.mongod
(service mongod restart
).Aqui estão as linhas a serem adicionadas
/etc/init.d/mongod
:É isso aí!
fonte
O MongoDB atualizou sua recomendação de usar um script init.d agora: http://docs.mongodb.org/master/tutorial/transparent-huge-pages/
fonte
Para Ubuntu 14.04 usando upstart:
Como estamos implantando máquinas com Ansible, não gosto de modificar arquivos rc ou configurações do GRUB.
Tentei usar
sysfsutils
/,sysfs.conf
mas tive problemas de tempo ao iniciar os serviços em máquinas rápidas (ou lentas). Parecia que às vezes o mongod era iniciado antes do sysfsutils. Às vezes funcionava, às vezes não.Como mongod é um processo inicial, descobri que a solução mais limpa era adicionar o arquivo
/etc/init/mongod_vm_settings.conf
com o seguinte conteúdo:Isso executará o script antes de iniciar o mongod. Reinicie o mongod (
sudo service mongod restart
) e pronto.fonte
Abra / etc / default / grub
sudo vi / etc / default / grub
Atualize
GRUB_CMDLINE_LINUX_DEFAULT = "" para GRUB_CMDLINE_LINUX_DEFAULT = "transparent_hugepage = nunca"
: wq (in vi)
Execute update-grub
sudo update-grub
Reiniciar máquina
Atualização: Se você estiver usando um provedor de hospedagem virtual, isso funcionará. A inicialização do grub IFF é compatível. DigitalOcean NÃO suporta inicialização grub.
fonte
Verificou-se que a desfragmentação é examinada independentemente do habilitado:
Portanto, a correção para este bug é olhar primeiro para transparent_hugepage / enabled, e se nunca, não se preocupe em olhar para a configuração irrelevante de transparent_hugepage / defrag.
Fonte .
fonte
Ubuntu 16.04 usando systemd:
systemctl edit mongod
Cole a seguinte:
fonte