Linux dropped 包的排查与解决
一、快速定位思路
二、常见根因与对应处理
| 现象/计数 | 可能原因 | 快速确认 | 处理建议 |
|---|---|---|---|
| RX/TX drop 增长(ifconfig/ethtool -S 可见) | 网卡Ring Buffer溢出 | ethtool -S 中出现rx_fifo_errors;/proc/net/dev 的 fifo 列增长 | 增大环形缓冲:ethtool -G |
| RX overruns 增长 | 驱动队列/CPU处理不及时 | ethtool -S 中 rx_overruns 增长 | 提升软中断处理能力(RPS/XPS)、中断绑核;升级驱动/固件 |
| netdev_max_backlog 溢出 | 内核网络 backlog 队列满 | /proc/net/softnet_stat 某核第2列持续增大 | 调大 net.core.netdev_max_backlog;优化软中断分布 |
| nf_conntrack: table full | 连接跟踪表满 | dmesg | grep nf_conntrack;/proc/sys/net/netfilter/nf_conntrack_* |
| crc_errors 增长 | 物理介质/线缆/光模块问题 | ethtool -S | grep crc;接口错包计数 |
| length_errors 增长 | MTU/巨帧不匹配 | ethtool -S | grep length_errors |
| ARP 目的MAC错误 | 静态ARP/ARP未及时更新 | 源端抓包或 ip neigh;目的端混杂抓包核对MAC | 刷新ARP(ip neigh flush all);修正静态ARP |
| 安全组/iptables DROP | 策略拦截 | iptables -L -n -v;云平台安全组规则 | 放通业务端口与协议;清理误拦截规则 |
| 协商速率/双工异常 | 自协商失败/对端限制 | ethtool |
重新自协商;必要时强制 speed/duplex(如 speed 1000 duplex full autoneg off) |
| 驱动/固件异常 | 版本过旧或缺陷 | ethtool -i |
升级驱动/固件;回退稳定版本 |
三、关键命令速查
四、处理顺序建议
五、注意事项