Linux下如何监控进程的NUMA互联(QPI/UPI)带宽使用情况
Linux下测量双路Skylake平台进程跨NUMA节点UPI/QPI带宽落地方案
以下方案适用于你描述的「NUMA0、NUMA1各运行1个线程,双线程跨节点访问对端内存」场景,在搭载2颗Skylake处理器的UPI平台验证可用,老款QPI架构双路平台仅需替换对应事件名即可复用。
前置校验(必做,否则测量结果无效)
- 先确认NUMA拓扑:执行
lscpu | grep NUMA查看两个NUMA节点对应的CPU核心范围,执行numactl -H查看各节点内存范围。 - 测试进程启动时直接通过numactl绑定核心和内存,避免内核调度、内存自动迁移干扰结果:
# 启动NUMA0上的线程:核心绑定在node0,内存强制分配在node1 numactl --cpunodebind=0 --membind=1 ./your_worker_0 & # 启动NUMA1上的线程:核心绑定在node1,内存强制分配在node0 numactl --cpunodebind=1 --membind=0 ./your_worker_1 & - 记录进程PID,后续测量直接绑定该PID,避免统计到其他进程的流量。
- 内核版本要求4.14以上,可直接读取UPI/QPI的uncore硬件计数器,无需额外安装驱动。
方法1:perf工具精确测量(推荐,结果最准)
该方法直接读取CPU UPI控制器的硬件计数寄存器,仅统计目标进程触发的跨链路流量,不掺杂系统其他进程的干扰,是最准确的测量方式。
- 先确认平台对应事件名:
- Skylake UPI平台:执行
perf list | grep upi找到upi_tx_flits.ALL(UPI出方向传输单元计数)、upi_rx_flits.ALL(UPI入方向传输单元计数),单个flit固定为64字节,是UPI链路的最小传输单元。 - 老款QPI平台:替换为
qpi_tx_flits.ALL、qpi_rx_flits.ALL即可,flit长度同样为64字节,计算逻辑完全一致。
- Skylake UPI平台:执行
- 执行perf统计命令,每1秒输出一次计数:
双路平台共2个UPI控制器,对应perf stat -I 1000 -p <你的测试进程PID> \ uncore_upi_0/upi_tx_flits.ALL/,uncore_upi_0/upi_rx_flits.ALL/ \ uncore_upi_1/upi_tx_flits.ALL/,uncore_upi_1/upi_rx_flits.ALL/uncore_upi_0、uncore_upi_1两个事件目录,需要同时统计两个控制器的收发流量。 - 带宽计算:将每秒输出的4个计数值(两个控制器的tx、rx)求和,乘以64得到每秒传输总字节数,除以1024*1024即可换算为MB/s的实时带宽值。
例:某秒统计到upi0 tx=2e6 flit、upi0 rx=1.9e6 flit、upi1 tx=1.9e6 flit、upi1 rx=2e6 flit,总flit数7.8e6,总带宽=7.8e6*64/1024/1024≈476MB/s。
方法2:PCM工具实时观测链路利用率
如果需要同时查看UPI/QPI链路的总利用率、目标进程流量占比,可以用Intel PCM工具,同样读取硬件计数器,结果和perf一致:
- 直接从系统源安装pcm工具后,执行
pcm-upi 1即可每1秒输出两条UPI链路的实时总带宽、链路占用率。 - 执行
pcm -p <你的测试进程PID> 1,可单独输出目标进程触发的跨NUMA访存流量占比,方便快速判断进程对链路资源的挤占程度。
方法3:numastat粗粒度校验
如果不需要秒级精度,仅需快速估算跨节点流量规模,可以用numastat做粗测:
- 执行
numastat -p <你的测试进程PID>,查看输出中Numa_Miss列的计数,该值为进程本地NUMA节点访存未命中、到远端节点取数据的内存页数,默认单页大小4KB。 - 用总页数*4KB除以进程总运行时长,即可得到粗粒度的跨节点访存带宽。
注意:该方法无法统计cache一致性流量、非缺页触发的跨节点访存,结果会比实际UPI带宽偏小,仅适合做快速校验,不能作为精确测量结果。
避坑提醒
- 不要尝试用iftop、nethogs等网卡工具测量UPI/QPI带宽,UPI是CPU片上互联链路,不属于网卡设备,这类工具完全无法识别流量。
- 如果执行全局统计(不指定PID绑定),结果会包含系统所有进程的跨节点流量,测量单进程带宽时必须加-p参数绑定目标PID。
- 测量前尽量关闭其他会产生跨NUMA访存的无关进程,避免后台流量干扰结果。
内容的提问来源于stack exchange,提问作者Mohammad Siavashi
相关产品推荐
相关产品推荐

