MongoDB启动前的系统设置,解决部分Warning问题

MongoDB启动前的系统设置,解决部分Warning问题

1、多核心系统资源分配问题

2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** WARNING: You are running on a NUMA machine.
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** We suggest launching mongod like this to avoid performance problems:
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** numactl --interleave=all mongod [other options]

就像提示中写的一样,启动脚本写成如下即可:

numactl --interleave=all /path/to/mongod --config /path/to/mongodb.conf

2、大内存页问题

2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten]
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten]
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-10-13T17:57:02.650+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'

 我们cat一下上面两个文件,发现内容是“[always] madvise never”,我们需要根据提示将其改为never,但是这项设置不是很好改,所以一个比较简单的解决方案就是开机时将其修改了,并不改变默认配置。而且对此文件的修改需要在root用户下进行,直接在启动脚本中sudo -S是不行的。于是解决方案如下: 

sudo vim /etc/rc.local
 
在后面加入如下两句
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

3、bonus

  记得把/etc/security/limits.conf中的nofile改大,不然1024的nofile肯定会因为文件打开过多出现系统问题的。

  前两个warning仅仅会导致性能出现问题,而第三个则会导致系统错误。

4、其他的Access Control warning就不用管了

更多MongoDB相关教程见以下内容

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

相关推荐