【 使用环境 】
测试环境
【 OB or 其他组件 】
OS:Anolis OS 8.6 OpenStack实例
ocp:社区版3.3.0-20220427
ob:3.1.4
【问题描述】服务器是OpenStack实例,分配内核为8,但是ocp显示机器内核为16
【问题现象及影响】
系统命令查询内核数:
[root@oceanbase1 ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
8
[root@oceanbase1 ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 1
[root@oceanbase1 ~]# cat /proc/cpuinfo| grep "processor"| wc -l
8
ocp显示:
影响:之前内核好像分超了,ocp显示没有超,貌似集群运行除了一些问题
【附件】
不是,OpenStack看到的内核是逻辑内核数,分给ob实例8核,在ob的服务器上看到的逻辑物理核心数都是8,但是ocp显示16
谷渐
#5
OCP这边显示的"核数"应该是拿的OB集群的cpu_count
这个参数,这个参数会影响OB可使用的线程数,在3.1版本如果设置太小,会导致建租户成功但是无法连接上,并且这个参数目前是可以超卖的(也就是可以设置超过实际的物理核数),在3.1版本它的取值是max{16,物理核数-2},所以8核的场景,实际这个值是16;这个也就解释了为什么实际物理机是8核,但是OCP显示是16核的问题。
目前在3.1版本可能无法调整这个逻辑,我们在规划设计这个参数在4.x版本是否能更符合实际的物理核数
在OpenStack里看到的cpu核总量是cpu的逻辑内核数目,分给ob服务器的应该也是逻辑内核数,ob服务器看到的物理和逻辑内核数也是8;
前段时间我们在测试ob时候,程序运行一段时间总是会出错(相关帖子:1 2),调了很多参数,好像运行一段时间都会出错,之前发现了对ob租户分配的cpu核数总量超过了实际核数,目前调整到实际核数以下,貌似就可以稳定运行了
所以我怀疑是不是在高负载时cpu超量使用导致的问题,才发了这个帖子