Поскольку мы развертываем машины с Ansible, мне не нравятся модификации файлов rc.
Я попытался использовать sysfsutils / sysfs.conf, но столкнулся с проблемами синхронизации при запуске служб на быстрых (или медленных машины). Похоже, что иногда mongod был запущен до sysfsutils.
Поскольку mongod является процессом выскочки, я обнаружил, что самым чистым решением было добавить файл /etc/mongo_vm_settings.conf со следующим содержимым:
# Ubuntu upstart file at /etc/init/mongod_vm_settings.conf
#
# This file will set the correct kernel VM settings for MongoDB
# This file is maintained in Ansible
start on (starting mongod)
script
echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
end script
[d3 ] Это запустит скрипт перед запуском mongod. Перезапустите mongod (sudo service mongod restart) и выполните.