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.conf2、大内存页问题
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/enabledecho never > /sys/kernel/mm/transparent_hugepage/defrag3、bonus
记得把/etc/security/limits.conf中的nofile改大,不然1024的nofile肯定会因为文件打开过多出现系统问题的。
前两个warning仅仅会导致性能出现问题,而第三个则会导致系统错误。
4、其他的Access Control warning就不用管了
更多MongoDB相关教程见以下内容:
MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里