应直接用ip -s link show查RX/TX errors和dropped,再用ethtool -S深挖crc/frame/fifo等物理层错误;勿依赖ifconfig或/proc/net/dev的errs字段,因其统计旧、不区分类型易误判。

直接用 ip -s link show 查接收/发送错误和丢包,再配合 ethtool -S 深挖物理层错误细节,是最准、最可靠的方式。别依赖 ifconfig 或 /proc/net/dev 的 errs 字段——它们统计口径旧、不区分错误类型,容易误判。
用 ip -s link show 看聚合错误与丢包
这是第一道筛查门槛,命令快、结果清晰:
- 运行
ip -s link show ens33(把ens33替换为你的实际网卡名,可用ip link show先确认) - RX 块中重点关注:
rx_errors:物理层错误总和(含 CRC、帧对齐、长度等),持续增长基本指向网线松动、光模块衰减或双工不匹配
rx_dropped:内核主动丢弃,常见于 net.core.netdev_max_backlog 不足或软中断处理不过来
rx_missed:Ring Buffer 溢出,说明驱动取包太慢,可能因中断绑定不均或 CPU 负载高 - TX 块中重点关注:
tx_errors 很少见,若非零,重点查ethtool -S中的 carrier 或 aborted 类错误
tx_dropped 多因 qdisc 队列满、TC 限速或驱动发送缓冲区溢出
用 ethtool -S 查底层物理错误计数器
ip -s link 只给总和,真正定位根因得靠 ethtool -S 读网卡芯片寄存器:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- 先确保已安装:
sudo apt install ethtool(Debian/Ubuntu)或sudo dnf install ethtool(RHEL/CentOS) - 运行
ethtool -S ens33 | grep -E "(crc|frame|fifo|miss|drop)" - 关键字段含义:
rx_crc_errors > 0 → 线缆接触不良、EMI 干扰或交换机端口故障
rx_frame_errors > 0 → 帧格式错,常与双工不匹配或 PHY 异常有关
rx_fifo_errors 或 rx_over_errors 高 → 接收 FIFO 溢出,和 CPU 负载、RPS/RFS 设置强相关
rx_missed_errors 持续涨 → Ring Buffer 太小或中断响应延迟,可调ethtool -G ens33 rx 4096
结合链路状态与光模块诊断交叉验证
单看计数器不够,必须同步确认物理连接是否健康:
- 运行
ethtool ens33,检查:
Link detected: yes(否表示链路中断)
Speed: 10000Mb/s、Duplex: Full(是否与对端协商一致)
Auto-negotiation: on(若为 off 或 failed,大概率是兼容性问题) - 对 SFP/SFP+ 光模块,加
-m参数:sudo ethtool -m ens33
关注 rx_power 是否在标称范围内(如 -12.5dBm ~ -1dBm)、temperature 是否异常升高 - 抓包辅助判断:
tcpdump -i ens33 -c 100若完全收不到帧,不是丢包,而是物理链路已断
盯住趋势,而非单次数值
硬件劣化是渐进过程,固定时间间隔采样比人工看一次更有预警价值:
- 用 watch 每 30 秒采样:
watch -n 30 'ethtool -S ens33 | grep -E "(rx_.*err|rx_.*ovr)"' - 记录历史值,观察 rx_crc_errors 或 rx_missed_errors 是否缓慢但稳定上升(例如每小时增 1–3 个)——这往往是光纤微弯、模块老化或端口氧化的早期信号
- 若某台服务器出现异常趋势,而同批次其他机器正常,优先排查单机硬件(如 PCIe 插槽松动、网卡固件异常)

















