你在MongoDB启动时也遇到以下警告吗?
1 | WARNING: You are running on a NUMA machine. |
这是当MongoDB运行在非统一内存访问架构 NUMA(Non Uniform Memory Access Architecture)下产生的性能告警。
关于NUMA是什么,可以参考这篇文章:Non-uniform memory access
这里主要提一下在CentOS 7系统、NUMA架构服务器中上述告警该如何消除。
首先需要使用numactl
这个命令,而这条命令服务器中默认是没有的,在支持NUMA架构的CentOS7服务器中,可以运行yum install numactl
来安装它。
接着关闭MongoDB服务:systemctl stop mongod
disable掉MongoDB服务的自动启动:systemctl disable mongod
使用numactl来启动MongoDB:numactl --interleave=all mongod --config /etc/mongod.conf
如果想要开机自动使用numactl启动MongoDB,将上述命令写到开机启动的脚本文件中即可。
笔者尝试修改mongod.service服务描述中的ExecStart选项,尝试将numctl作为mongod服务的执行体时报了很多错,如果你有相关的解决方法,欢迎来信或在评论里探讨。