温馨提示×

什么是centos dropped现象

小樊
43
2026-09-30 07:54:24
栏目: 智能运维

在 CentOS(以及一般 Linux 系统)语境中,“dropped 现象”通常指网络数据包被丢弃(packet drop),最常见于以下几种场景:


一、网络层面的 “dropped”(最常见)

1. 网卡或系统统计中的 dropped

通过命令查看:

ifconfig
# 或
ip -s link

你会看到类似:

RX packets 123456  bytes 98765432 (94.1 MiB)
RX errors 0  dropped 123  overruns 0  frame 0

或:

TX dropped 45

含义:

  • RX dropped:接收方向数据包被内核丢弃
  • TX dropped:发送方向数据包被丢弃

2. 常见原因

  • 网卡队列满(Ring Buffer 不足)
  • 中断不均衡(IRQ 未绑定 CPU)
  • 防火墙(iptables / nftables)主动 DROP
  • 连接跟踪表(conntrack)满
  • 内核参数限制(如 net.core.rmem_max 太小)
  • 网络拥塞或 ARP 异常

二、TCP 层面的 dropped(连接丢弃)

1. 半连接 / 全连接队列溢出

ss -lnt

观察:

Recv-Q Send-Q Local Address:Port
0      128    *:80

如果 Recv-Q 长期接近 Send-Q,说明:

  • accept 队列满
  • 新连接被 dropped

2. 原因

  • net.core.somaxconn 太小
  • net.ipv4.tcp_max_syn_backlog 不足
  • 应用 accept 太慢

三、防火墙导致的 dropped

iptables -L -v -n

若看到:

Chain INPUT (policy DROP)

或

DROP  all  --  *  *  0.0.0.0/0  0.0.0.0/0

说明规则主动丢弃包。


四、系统资源不足导致的 dropped

  • 内存不足 → skb 分配失败
  • CPU 软中断过高 → 包处理不过来
  • 文件描述符耗尽 → 新连接被丢

五、如何排查 CentOS dropped 现象(实战思路)

  1. 确认 dropped 在哪一层
    ip -s link
    
  2. 看是否 conntrack 满
    sysctl net.netfilter.nf_conntrack_count
    sysctl net.netfilter.nf_conntrack_max
    
  3. 看 TCP 队列
    ss -lnt
    
  4. 看中断分布
    cat /proc/interrupts
    
  5. 看系统日志
    dmesg | grep -i drop
    

六、一句话总结

CentOS 中的 “dropped 现象” 通常指网络数据包或连接被系统、网卡、防火墙因资源不足或策略原因丢弃,是性能或配置问题的信号,而非某个单一故障。

如果你有具体的命令输出(如 ifconfig、ss、dmesg),可以贴出来,我可以帮你精准判断是哪一种 dropped。

0 踩