首页/系统/Linux 内核与性能调优速查/ip -s link 接口错误计数
网络栈调优98 条

ip -s link 接口错误计数

接口级收发包与错误计数在 ip -s link: errors、dropped、missed 含义不同, 要分别对照驱动与协议栈层。

ip -s link 的计数怎么读

ip -s link 输出接口级的分层计数:收发字节与包数之外,还有 errors、dropped、missed、overrun 等错误类计数。这几类含义并不相同:errors 偏向链路侧问题(坏帧、CRC 校验失败),dropped 与 missed 多与资源不足或驱动丢弃相关,overrun 则说明接收环来不及处理。判读时必须分类,不能笼统地看「有错误」。

基本信息

基本查看ip -s link show eth0
更详细ip -s -s link show eth0 会输出更多统计层
errors 指向链路侧问题,如坏帧与校验错误
dropped、missed 指向资源不足或驱动侧丢弃,与缓冲相关
overrun 指向接收环来不及处理,需结合中断与队列评估

典型使用场景

  • 收包异常时区分是链路坏帧还是缓冲不足
  • 交换机与主机计数对不上时,确认丢在哪一侧
  • 压测中出现丢包,用接口计数与网卡计数交叉验证
  • 更换线缆或模块后确认错误计数是否停止增长
  • 建立接口层基线,作为后续变更的对比基准

读取方法

读取方法
ip -s link show eth0                       # 接口层收发与错误计数
ip -s -s link show eth0 | head -40         # 更细的分层统计
ethtool -S eth0 | grep -iE 'err|drop|miss'  # 与网卡驱动计数对照
ip -s link show eth0 > /tmp/l1; sleep 60; ip -s link show eth0 > /tmp/l2  # 间隔采样

计数分类与指向

计数含义指向
errors收发过程中的错误总数链路侧坏帧、校验失败
dropped被丢弃的报文数资源不足或策略丢弃
missed因缓冲区不足未接收的报文收包缓冲或处理能力不足
overrun接收环未及时处理的报文中断延迟或 CPU 处理不过来
no_buffer无可用描述符而丢弃环缓冲偏小

判读顺序

  • 先分类:是链路错误类还是资源丢弃类
  • 再看增量:累计值大但不增长通常不是当前问题
  • 然后与网卡驱动计数对照,确认丢在哪一层
  • 最后与对端和交换机计数交叉验证,避免单侧归因
累计值必须用增量来解读:接口可能运行了几个月,早期故障留下的计数会一直留在数字里,只有持续增长才说明问题正在发生。
虚拟接口的计数含义与物理接口不完全一致,例如某些虚拟网卡不提供 overrun 这类计数,跨环境对比时要注意口径。

易错点

  • 把 errors、dropped、missed 混为一谈,归因方向从一开始就错
  • 只看累计值不看增量,无法对应故障时间窗
  • 只在本端看计数,未与对端和交换机的同类计数交叉验证
  • 把虚拟接口的计数与物理接口直接对比,口径不同结论无效

数据来源与参考

  • man ip-link
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌