Os documentos do MongoDB têm algumas sugestões. link
A maneira "preferida" é editar /etc/default/grub e anexar transparent_hugepage=never a GRUB_CMDLINE_LINUX_DEFAULT , em seguida, executar update-grub para reconstruir a configuração do GRUB.
O seguinte verso fará exatamente isso. Certifique-se de verificar a saída!
sed -r 's/GRUB_CMDLINE_LINUX_DEFAULT="[a-zA-Z0-9_= ]*/& transparent_hugepage=never/' /etc/default/grub | sudo tee /etc/default/grub
sudo update-grub
Observe que update-grub é um wrapper para grub-mkconfig . grub-mkconfig irá atrapalhar as entradas em /etc/default/grub com as de /etc/default/grub.d/* .
Se por acaso você estiver executando o AWS, será necessário editar /etc/default/grub.d/50-cloudimg-settings.cfg .
O método "alternativo" é editar /etc/rc.local e adicionar o seguinte antes de exit 0 :
if test -f /sys/kernel/mm/transparent_hugepage/khugepaged/defrag; then
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
Pessoalmente, acabei fazendo os métodos "preferido" e "alternativo", já que eles não são mutuamente exclusivos e elimina o aviso sobre desfragmentação.
* Trabalhei para mim no Ubuntu 14.04, no MongoDB 3.0.2 e no AWS.