You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon Linux 2环境XPS配置后TX队列绑定CPU不生效问题咨询

检查内核CONFIG_XPS配置项方法

执行以下命令即可验证:

cat /boot/config-$(uname -r) | grep CONFIG_XPS

若输出CONFIG_XPS=y则说明内核已编译开启XPS特性,Amazon Linux 2的4.14版本内核默认已开启该配置。

XPS不生效的排查&额外配置项

  • 首先确认XPS掩码的写入格式正确:xps_cpus的取值为十六进制CPU掩码,直接写入十进制数值会导致绑定规则不符合预期。你当前的配置写法未指定十六进制标识,会被shell识别为十进制写入,比如echo 10实际写入的是十进制10(对应十六进制0xa,二进制1010),会绑定到CPU1和CPU3,而非你预期的CPU4。正确的配置写法需要加上0x前缀,示例如下:
echo 0x1 > /sys/class/net/eth1/queues/tx-0/xps_cpus
echo 0x2 > /sys/class/net/eth1/queues/tx-1/xps_cpus
echo 0x4 > /sys/class/net/eth1/queues/tx-2/xps_cpus
echo 0x8 > /sys/class/net/eth1/queues/tx-3/xps_cpus
echo 0x10 > /sys/class/net/eth1/queues/tx-4/xps_cpus
echo 0x20 > /sys/class/net/eth1/queues/tx-5/xps_cpus
echo 0x40 > /sys/class/net/eth1/queues/tx-6/xps_cpus
echo 0x80 > /sys/class/net/eth1/queues/tx-7/xps_cpus
echo 0x100 > /sys/class/net/eth1/queues/tx-8/xps_cpus
echo 0x200 > /sys/class/net/eth1/queues/tx-9/xps_cpus
echo 0x400 > /sys/class/net/eth1/queues/tx-10/xps_cpus
echo 0x800 > /sys/class/net/eth1/queues/tx-11/xps_cpus

写入完成后执行cat /sys/class/net/eth1/queues/tx-*/xps_cpus核对每个队列的掩码输出是否符合预期。

  • 检查是否存在冲突的网络特性:如果开启了RFS(接收侧流 steering)或网卡硬件TX分流卸载,会覆盖XPS的队列选择逻辑。可临时关闭RFS测试:echo 0 > /proc/sys/net/core/rps_sock_flow_entries,同时执行ethtool -k eth1 | grep tx-检查TX相关硬件卸载项,临时关闭后验证XPS是否生效。
  • 确认网卡TX队列数量与配置匹配:执行ls /sys/class/net/eth1/queues/ | grep tx | wc -l确认网卡实际TX队列数为12,避免实际队列数量与配置数量不符。
  • 验证CPU编号对应关系:执行lscpu确认CPU编号是否为物理核编号,若开启了超线程,需避免绑定到同一物理核的不同逻辑线程。测试时拉长iperf运行时间到60秒以上,执行ethtool -S eth1 | grep tx_packets观察各TX队列的包数增长,同时执行mpstat -P ALL 1观察对应CPU的软中断占用,验证绑定规则是否匹配。

内容的提问来源于stack exchange,提问作者Amit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:24:04