MongoDB数据库的NUMA警告问题
小白第一次写这个,内容编辑不熟练,见谅
最近公司来了新服务器(DELL R730xd),装的Windows Server 2008 R2,用来做内部系统的数据库服务器,安装MongoDB数据库,安装之后发现启动的时候有问题,报错内容是这样的:
MongoDB shell version: 2.4.8
connecting to: test
Server has startup warnings:
Wed Dec 25 22:10:01.043 [initandlisten]
Wed Dec 25 22:10:01.043 [initandlisten] ** WARNING: You are running on a NUMA machine.
Wed Dec 25 22:10:01.043 [initandlisten] ** We suggest launching mongod like this to avoid performance problems:
Wed Dec 25 22:10:01.043 [initandlisten] ** numactl –interleave=all mongod [other options]
Wed Dec 25 22:10:01.043 [initandlisten]
乱七八糟的英文也看不太明白,翻译一下就是服务器开启了NUMA功能导致的,如果想没问题的话就在启动的时候加上上面的参数,就没问题了,本着较真的思想多百度了一下,发现了下面的两篇文章:
https://blog.****.net/motian06/article/details/17582617
https://www.cnblogs.com/wjoyxt/p/4804081.html
第一篇文章验证了我的渣渣英语翻译,让人心塞的是第二篇文章提到的如果只在服务启动的时候禁用NUMA的话,会损失15%到30%的性能……
所以还是想找一个能在BIOS里面关闭NUMA功能的方法,BIOS里面看到的唯一内容就是内存的配置模式里面有一个NUMA开头的模式,并且之后这个模式是英文名字没有翻译(中文BIOS),后来翻了翻R710的BIOS说明书,从中文搜索中搜到了NUMA中文翻译过来相关的内容,就是非一体化内存体系结构,然后发现了这个功能在BIOS设置里面叫做“节点交错”/”交叉节点”……
默认这个节点是Disable的,是开启NUMA功能的(醉了……)
在这里设置成Enable就禁用NUMA功能了,所以……
这个选项在内存设置中【内存模式】下面,进去一看还真是,所以改成“启用”/Enable,重新启动,就OK了
可能不同品牌服务器设置位置不一样,希望可以给遇到这个问题的朋友们一个借鉴。