В документах MongoDB есть несколько предложений. http://docs.mongodb.org/manual/reference/transparent-huge-pages/
«Предпочтительный» способ - отредактировать /etc/default/grub и добавить transparent_hugepage=never в GRUB_CMDLINE_LINUX_DEFAULT, затем запустить [ f6], чтобы перестроить конфигурацию GRUB.
Следующий двухстрочный лайнер сделает именно это. Обязательно проверьте вывод!
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
Обратите внимание, что update-grub является оберткой для grub-mkconfig. grub-mkconfig будет забивать записи в /etc/default/grub с данными из /etc/default/grub.d/*. Если вы случайно используете AWS, вам нужно будет отредактировать /etc/default/grub.d/50-cloudimg-settings.cfg.
Метод «alternate» предназначен для редактирования /etc/rc.local и добавления следующего до 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
Лично я закончил делать «предпочтительные» и «альтернативные» методы, поскольку они не являются взаимоисключающими и устраняет предупреждение об defrag.
* Работал для меня на Ubuntu 14.04, MongoDB 3.0.2 и AWS.