一条命令巡检所有接口
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 overrun | FIFO 溢出 | 典型的主机侧处理不及时,需要调缓或降低速率 |
| TX errors / dropped | 发送侧错误与丢弃 | 常与队列满、MTU 不匹配、对端协商异常相关 |
| CRC / frame(二级) | 校验错误与帧错误 | 直线指向网线、水晶头、光衰或端口故障 |
巡检脚本优先用 ip -s -j link 的 JSON 输出:文本列顺序会随 iproute2 版本变化,脚本解析容易在系统升级后失效。
errors 与 dropped 的成因不同:errors 偏协议或物理错误,dropped 偏主机资源不足;两者要分别看待,处置方向也不一样。