监控bond接口总吞吐并验证物理网卡负载均衡:用nload看bond0整体速率,iftop定位异常连接,/proc/net/dev或ip -s link对比各物理口RX/TX字节数增长是否同步,ethtool确认链路协商状态与bonding模式。

监控多网卡绑定(bonding)接口的实时吞吐与负载,关键在于:**不直接监控物理网卡,而是盯住 bond 接口本身;同时辅以物理网卡数据验证负载是否真正均衡**。Linux 的 bonding 驱动会把多个物理口聚合成一个逻辑设备(如 bond0),所有流量统计、速率展示都应以该逻辑接口为准——否则看到的是碎片化数据,无法反映真实业务吞吐。
一、用 nload 监控 bond 接口总吞吐(最直观)
nload 轻量、无解析开销、图形清晰,适合快速确认整体收发是否正常、有无突发尖峰:
- 先查真实 bond 接口名:ip -br a | grep bond(常见为 bond0、bond1)
- 监控该接口:sudo nload bond0
- 单位注意:-u M 显示 Mbps(兆比特每秒),不是 MB/s;若需字节单位,可用 -u B 并手动 ×8 换算
- 按左右方向键可切换视图,但 bond 接口只有一条曲线,无需切
二、用 iftop 定位连接级流量来源(排查异常通信)
当 nload 显示 bond0 流量异常高时,需知道是哪些 IP 或端口在驱动流量:
- 必须加 -n(禁 DNS 解析)和 -N(禁服务名转换),避免卡顿或显示 unknown
- 指定 bond 接口:sudo iftop -n -N -i bond0
- 如只关心 HTTP/HTTPS:sudo iftop -n -N -i bond0 -f "port 80 or port 443"
- 顶部三行显示 2s/10s/40s 平均速率,帮助判断是瞬时毛刺还是持续压力
三、用 /proc/net/dev 或 ip -s link 查原始计数器(验证物理口负载是否均衡)
仅看 bond0 不足以判断 bonding 是否真正起效。需检查底层物理网卡(如 ens33、ens37)的 RX/TX 字节数是否接近——若严重倾斜,说明模式配置或交换机侧不匹配:
- 快速对比:watch -n1 'cat /proc/net/dev | grep -E "(bond0|ens33|ens37)"'
- 更清晰格式:ip -s link show bond0(看逻辑层统计)
ip -s link show ens33 && ip -s link show ens37(看物理层收发包数、错误数) - 重点关注:RX bytes 和 TX bytes 的增长速率是否同步;若某物理口长期零增长,可能是 mode 不匹配或交换机未启用 LACP
四、结合 ethtool 确认协商状态与工作模式(排除底层链路问题)
吞吐上不去或负载不均,常因物理链路未达预期速率或双工模式异常:
- 查 bond0 实际协商速率:ethtool bond0(注意看 Speed 和 Duplex 字段)
- 分别查物理口:ethtool ens33、ethtool ens37,确认是否均为 1000Mb/s 全双工
- 查 bonding 模式:cat /proc/net/bonding/bond0,确认当前 mode(如 mode=4 对应 802.3ad/LACP),并观察 Slave Interface 列是否都为 Up
不复杂但容易忽略:bond 接口本身不会“自动均衡”,它依赖 mode 设置与交换机配合。监控的核心是“bond0 总吞吐是否达标 + 物理口流量是否趋近均分”。只要这两点成立,负载就已在按设计分担。


















