首页/网络/网络排障速查/ip -s link:接口计数与错误快速巡检
连通性与链路检测54 条

ip -s link:接口计数与错误快速巡检

不想记一堆 ethtool 参数时,ip -s link 一口气列出所有接口的收发字节、包量、错误、丢包;-s -s 还能看到具体错误类型。

网络排障速查网络更新于 2026-10-13

一条命令巡检所有接口

ip -s link 一次性列出所有接口的收发字节数、包量、错误数与丢包数,不必记 ethtool 的一堆参数;加第二个 -s 还能看到错误按类型细分(CRC、frame、fifo、miss、carrier 等)。它读的是内核维护的接口计数器,是判断「链路层是否有问题」最快的手段:错误计数持续增长才说明物理层或驱动层有异常,静止的历史计数不构成故障。

基本信息

适用平台Linux(iproute2 自带)
语法ip -s link [show <接口>];ip -s -s link show <接口> 查看二级细分
脚本友好ip -s -j link 输出 JSON,避免解析文本受列顺序变化影响
计数含义RX/TX 各有 bytes、packets、errors、dropped、overrun、mcast
权限要求普通用户即可查看;清零计数需相应权限

典型使用场景

  • 用户报网络慢:先看接口错误与丢包计数是否有增长,排除物理层问题
  • 巡检多个接口:一条命令覆盖全部网卡,比逐个 ethtool 快
  • 定位 CRC 错误:二级输出能看出错误类型,指向网线或光模块
  • 对比两次采样做差分:判断计数是历史遗留还是正在增长
  • 配合 /proc/net/dev 做监控采集:口径一致,便于长期趋势对比

巡检命令

巡检命令
ip -s link                          # 全部接口概览
ip -s link show eth0                # 单接口
ip -s -s link show eth0             # 二级详情:按错误类型细分
ip -s -j link show eth0             # JSON 输出,脚本解析更稳
cat /proc/net/dev                   # 内核原始计数,监控采集常用
# 两次采样做差分,判断计数是否在增长
ip -s link show eth0 > /tmp/a; sleep 10; ip -s link show eth0 > /tmp/b; diff /tmp/a /tmp/b

计数字段读法

字段含义异常指向
RX bytes / packets接收字节数与包数与业务流量对照,突然归零说明接口或链路中断
RX errors接收错误总数持续增长指向物理层、光模块或驱动问题
RX dropped因资源不足被丢弃的包可能由缓冲区不足或 CPU 处理不及引起
RX overrunFIFO 溢出典型的主机侧处理不及时,需要调缓或降低速率
TX errors / dropped发送侧错误与丢弃常与队列满、MTU 不匹配、对端协商异常相关
CRC / frame(二级)校验错误与帧错误直线指向网线、水晶头、光衰或端口故障
巡检脚本优先用 ip -s -j link 的 JSON 输出:文本列顺序会随 iproute2 版本变化,脚本解析容易在系统升级后失效。
errors 与 dropped 的成因不同:errors 偏协议或物理错误,dropped 偏主机资源不足;两者要分别看待,处置方向也不一样。

易错点

  • 把 dropped 一律当链路问题:主机侧缓冲区或 CPU 不足同样会造成 dropped,需结合 ethtool -S 细分
  • 只看累计计数不看增量:开机以来的历史错误数不构成当前故障,必须做两次采样差分
  • 用文本输出做长期监控解析:列顺序与字段随版本变化,脚本会在系统升级后静默出错
  • 忽略二级输出:只看一级总数无法区分 CRC 错误与资源丢包,定位方向会跑偏

数据来源与参考

  • iproute2 手册(ip -s link)
  • Linux 内核 /proc/net/dev 文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌