ethtool -c 不直接显示“自适应中断调整”状态,因标准内核未实现真正自适应;仅部分厂商驱动(如Intel i40e、Mellanox mlx5)支持,需通过adaptive-rx/adaptive-tx字段判断是否启用,且实际为定时采样式调整而非实时动态。
在 Linux 中,
本身**不直接显示“自适应中断调整”状态**,因为标准内核和 ethtool 并未实现真正意义上的“自适应中断合并(adaptive interrupt coalescing)”——即网卡或驱动根据实时流量自动动态调节中断合并参数。所谓“自适应”,通常是某些厂商驱动(如 Intel 的
、
,或 Mellanox 的
)在特定固件/驱动版本中提供的私有扩展功能,且往往需配合用户空间工具(如
)或内核模块参数启用,并非
的通用输出字段。
1. 先确认网卡是否支持并启用了自适应中断合并
不是所有网卡和驱动都支持该特性。常见支持场景包括:
Intel 10G+ 网卡(如 X710、X550)搭配较新
驱动(v2.10+),启用
(MSI-X + 自适应)或通过
尝试开启(部分版本支持);
Mellanox ConnectX-4/5/6 使用
驱动,默认启用硬件自适应中断合并(由固件控制,不可直接用 ethtool 查看);
大多数 Realtek、Virtio、老款千兆芯片(如 e1000e)不支持,
输出中不会出现
/
字段。
2. 使用 ethtool -c 查看当前中断合并配置(含自适应开关状态)
运行以下命令查看接口(例如
)的中断合并设置:
$ ethtool -c ens3f0
关键字段解读:
Trae linux
Trae Linux 官方版本现已全面上线,开发者可直接访问 Trae 官网(trae.cn 国内版或 trae.ai 国际版)获取专属安装包。该版本完美适配主流 Linux 发行版,提供 .deb(适配 Ubuntu/Debian)、.rpm(适配 RHEL/Fedora)以及通用 .tar.gz 格式,并全面支持 x64 与 ARM64 架构。
下载
/
:接收/发送中断延迟(微秒),设为 0 表示禁用定时器触发;
/
:收/发多少包后强制中断,设为 0 表示禁用帧计数触发;
/
:若显示
,说明驱动已启用软件层自适应逻辑(如 Intel 的 auto-tuning);若为
或无此字段,则未启用或不支持。
⚠️ 注意:即使显示
,也不代表“实时动态调整”——它通常只在链路状态变化(如 up/down)、或驱动内部定时器(如每秒)采样后做一次平滑调整,不是毫秒级响应。
3. 验证自适应是否实际生效(需结合中断统计与延迟测量)
仅看
不足以判断效果。应联动观察:
监控中断频率:
,对比空载 vs 大流量下每秒 IRQ 次数是否明显下降(表明合并增强);
测端到端延迟波动:
,开启自适应后,P99 延迟应更稳定(但平均值可能略升);
查 CPU 占用:
或
,确认软中断(
)占比是否降低。
4. 手动调优建议(当自适应效果不佳或不可用时)
对低延迟敏感场景(如高频交易、实时音视频),常需关闭自适应,手动固定参数:
超低延迟(牺牲 CPU):
;
高吞吐平衡(推荐起点):
;
彻底禁用合并(仅测试用):
。
修改后建议用
再次确认,并持续观察
和应用延迟指标。
ethtool -cigbi40emlx5mlnx_tuneethtool -ci40eint_mode=2ethtool -C adaptive-rx on adaptive-tx on mlx5ethtool -cadaptive-rxadaptive-txens3f0rx-usecstx-usecsrx-framestx-framesadaptive-rxadaptive-txonoffadaptive-rx: onethtool -cwatch -n1 'cat /proc/interrupts | grep ens3f0'ping -c 1000 -i 0.01 target_ip | awk '{print $7}' | cut -d'=' -f2 | sort -n | tail -10top -p $(pgrep -f "irq/.*ens3f0")mpstat -P ALL 1siethtool -C ens3f0 rx-usecs 10 tx-usecs 10 rx-frames 1 tx-frames 1ethtool -C ens3f0 rx-usecs 50 tx-usecs 50 rx-frames 64 tx-frames 64ethtool -C ens3f0 rx-usecs 0 tx-usecs 0 rx-frames 1 tx-frames 1ethtool -c/proc/interrupts