我使用
更新了mongodbsudo apt-get install mongodb-org
mongodb从2.4更新到3.0。我连接到mongo shell后不久,它显示以下启动警告。我不知道修复它。建议我如何修复这些警告?
MongoDB shell version: 3.0.1
connecting to: test
Server has startup warnings:
2015-04-03T13:37:53.536+0530 I CONTROL [initandlisten]
2015-04-03T13:37:53.536+0530 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-04-03T13:37:53.536+0530 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-04-03T13:37:53.536+0530 I CONTROL [initandlisten]
2015-04-03T13:37:53.537+0530 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-04-03T13:37:53.537+0530 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-04-03T13:37:53.537+0530 I CONTROL [initandlisten]
答案 0 :(得分:12)
使用root权限在/etc/rc.local文件中的exit 0之前添加以下行是神奇的。保存文件后重新启动操作系统。然后警告消失在mongo shell中。
来源:MongoDB文档(http://docs.mongodb.org/manual/reference/transparent-huge-pages/#transparent-huge-pages-thp-settings)
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
答案 1 :(得分:6)
由于透明大页面(THP)设置而弹出这些警告。
如official MongoDB documentation中所述:
然而,众所周知,THP在数据库工作负载下表现不佳, 往往有稀疏而不是连续的内存访问 图案。您必须在用于运行MongoDB的Linux机器上禁用THP 确保最佳表现的实例。
StackOverflow上有一个类似的thread,您可以找到一个可能的解决方案,建议更新mongod.conf
文件,以便覆盖MongoDB指示的THP属性。
答案 2 :(得分:0)
似乎很多人都有同样的问题。您可以在MongoDB documentation中找到答案,也可以查看StackOverflow上提出的类似问题。
有人建议在控制台中输入sudo service mongod restart
,这对他们有效。