更新后Mongodb启动警告

时间:2015-04-03 08:59:11

标签: mongodb

我使用

更新了mongodb
sudo 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] 

3 个答案:

答案 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,这对他们有效。