我从 mongodb 收到以下关于 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'
但我确实设法手动关闭 THP
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
我通过添加做到了这一点transparent_hugepage=never
to GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub
并添加
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
to /etc/rc.local
我到底怎样才能避免这个警告呢?
MongoDB 官方文档 http://docs.mongodb.org/manual/reference/transparent-huge-pages/#transparent-huge-pages-thp-settings针对这个问题给出了几种解决方案。你也可以尝试这个解决方案 http://christina04.hatenablog.com/entry/2015/03/12/130033,这对我有用:
注意:尝试官方文档指令如果 MongoDB 版本大于 3.0
Open /etc/init.d/mongod
file.
(如果没有这样的文件,你可以检查/etc/init.d/mongod
, /etc/init/mongod.conf
文件 - 信用:以下评论)
紧接着添加下面几行chown $DAEMONUSER /var/run/mongodb.pid
和之前end script
.
- Restart
mongod
(service mongod restart
).
这是要添加到的行/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
就是这样!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)