定位解决问题/经验/教训(3)-CPU NUMA问题

1. 背景

之前做的一个项目,遇到设备内存和网卡绑定在不同的numa上,(网卡在numa1上,内存/巨页在numa0上)
导致问题如下:docker起来找不到hugepage
故障现象:

Error: the kernel module vfio_pci has not been installed.
Error: the device 0000:xx:00.3 connot be used
xxx
Error: There are not enough hugepages on numa1 
bind vfio-pci to interface……failed
Error: connot bind 0000:xx:00.3 to vfio-pci

2. 现象分析

2.1 本设备的numa现象

如:
设备共有2个cpu,共48核。
48核分了两组:numa0 和 numa1
其中,网卡都绑在numa1上,内存都绑在numa0上。

3.解决

  1. numa 就是将多个 cpu 分组
  2. 由于网卡是集成的,不能更改位置,所有调整内存条插槽位置,将网卡和内存在同一个numa上。
  3. 命令-查看numa 内核信息
    dmesg | grep -i numa
  4. 命令-查看numa绑定的硬件信息
    numactl -hardware
  5. 命令-查看numa状态
    numastat

4. 实例

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐