ip -s link可快速查看网卡收发统计,重点关注rx/tx中的drop(内核主动丢包)、errors(物理层/驱动错误)、overruns(fifo溢出)、carrier(载波丢失)等字段,结合ethtool、dmesg等工具定位底层网络问题。

使用 ip -s link(常简写为 ip -s l)可以快速查看网卡的收发统计,包括硬丢包(drop)和错误(errors)等关键指标,是定位底层网络问题的第一步。
理解关键字段含义
执行 ip -s link show eth0(将 eth0 替换为你的实际网卡名)后,会输出两组统计:RX(接收)和TX(发送)。重点关注以下字段:
- drop:内核主动丢弃的数据包数,常见原因包括队列满、内存不足、iptables规则拒绝、XDP程序丢弃等;
- errors:物理层或驱动层检测到的错误包数,如 CRC 错误、帧对齐失败、FIFO 溢出等;
- overruns:接收 FIFO 缓冲区溢出次数(属于 errors 的子类,反映驱动/硬件来不及处理);
- carrier:载波丢失次数(如网线松动、光模块故障、对端 down 等);
- collisions:仅在半双工模式下有意义,现代全双工交换网络中应为 0。
识别硬丢包是否异常
硬丢包(drop)不等于故障,需结合上下文判断:
- 若
drop值持续缓慢增长且无业务突增,可能是内核参数不合理(如net.core.netdev_max_backlog过小)或中断绑定不均; - 若
drop在流量高峰时陡增,同时rx_queue_len接近网卡队列长度(可通过ethtool -g eth0查看),说明接收队列瓶颈; - 若
tx drop显著增加,可能与 QoS 限速、TC 规则、或驱动发送队列阻塞有关; - 注意区分
drop和missed(部分驱动提供):后者更偏向硬件未捕获的包,通常指向 DMA 或中断丢失问题。
关联 error 类型定位物理层问题
errors 非零往往提示链路质量或硬件异常:
-
rx_errors高 +rx_crc_errors或rx_frame_errors高 → 检查网线、接口氧化、光衰、交换机端口故障; -
rx_over_errors高 → 驱动处理能力不足或中断风暴,可尝试调大rxring buffer(ethtool -G eth0 rx N)或优化 RPS/RFS; -
tx_aborted_errors或tx_carrier_errors高 → 对端链路不稳定,或本端网卡/PHY 异常; -
carrier值非零且持续增加 → 物理连接反复断连,优先排查线缆、SFP 模块温度、供电及对端状态。
辅助验证与进阶排查
ip -s link 是快照工具,建议配合其他命令交叉分析:
- 用
watch -n 1 'ip -s link show eth0 | grep -A 2 \"RX\|TX\"'实时观察变化趋势; - 对比
/proc/net/dev(用户态统计)与ip -s link(驱动层统计),若前者 drop 明显少于后者,说明丢弃发生在更底层(如 XDP 或硬件过滤); - 检查
ethtool -S eth0获取芯片级寄存器计数(如rx_missed_errors,rx_discards),能进一步定位丢包环节; - 结合
dmesg | grep -i "eth0\|error\|drop"查看内核是否有相关警告或驱动报错。










