I'm receiving the following warning from mongodb about 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'
But I did manage to turned THP off manually
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 did the trick by adding transparent_hugepage=never
to GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub
and adding
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
to /etc/rc.local
How on earth can I avoid the warning?
Official MongoDB documentation gives several solutions for this issue. You can also try this solution, which worked for me:
Note: Try official documentation directives if MongoDB version is greater than 3.0
Open /etc/init.d/mongod
file.
(if no such file you might check /etc/init.d/mongod
, /etc/init/mongod.conf
files - credit: the below comments)
Add the lines below immediately after chown $DAEMONUSER /var/run/mongodb.pid
and before end script
.
mongod
(service mongod restart
).Here are the lines to add to /etc/init.d/mongod
:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
That's it!