Linux dropped 的含义与总体影响 在 Linux 性能与网络排查语境中,dropped 通常指被内核或设备丢弃的数据包计数。少量、短暂的 dropped 多由瞬时拥塞或资源紧张引起,影响有限;但大量或持续增长的 dropped 往往意味着网络效率下降、时延上升,甚至引发连接超时、吞吐骤降、服务中断等稳定性问题,需尽快定位与处置。
对系统与业务的直接影响
dropped 出现在不同位置的含义
| 位置或来源 | 典型计数/工具 | 主要影响 | 常见线索 |
|---|---|---|---|
| 网卡 Ring Buffer(驱动队列) | ifconfig 的 RX dropped;ethtool -S 的 rx_fifo_errors/rx_no_buffer_count | 网卡侧来不及 DMA 入环或内核来不及取包,入口拥堵,易在高带宽/突发流量时放大 | ethtool -S 中相关计数增长;ifconfig 显示 RX dropped 增加 |
| 内核网络栈/队列(软中断、socket 缓冲) | netstat -s;ss -lnt 的 Recv-Q/Send-Q;/proc/net/sockstat | 软中断处理不及或应用消费慢导致队列溢出,表现为连接建立慢、间歇性超时 | ss 显示 Recv-Q 堆积;netstat -s 中 TCP 重传/超时上升 |
| QoS/tc 策略 | tc -s qdisc show dev eth0 | 人为或策略性丢包(如 netem 模拟),对业务透明但影响观测 | tc 输出中 dropped 计数增长 |
| 防火墙/连接跟踪 | iptables -L -n -v;/proc/sys/net/nf_conntrack_count 与 nf_conntrack_max | DROP/REJECT 规则或 conntrack 表满导致新连接被丢弃 | iptables 计数增长;conntrack 接近上限 |
| 监听队列溢出 | ss -lnt;sysctl net.core.somaxconn | 高并发时 backlog 满,新 SYN 被内核丢弃,表现为“偶发连接不上/超时” | ss 显示 LISTEN 0 128 且队列用尽;调大 somaxconn 后缓解 |
| 上述现象与定位方法可结合 ethtool、ifconfig、tc、netstat/ss、以及内核计数综合判断,避免只看单一指标下结论。 |
快速判断与处置建议