温馨提示×

为何centos会出现dropped

小樊
47
2026-09-30 07:51:24
栏目: 智能运维

在 CentOS(以及一般 Linux 系统)中,“dropped” 通常出现在网络、系统资源或日志相关场景中,含义是“被丢弃的数据包 / 事件 / 请求”。不同位置看到 dropped,原因完全不同。

下面按最常见场景给你系统说明:


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

1️⃣ ifconfig / ip -s link 中看到 RX dropped / TX dropped

RX packets 12345  bytes 1234567 (1.2 MiB)
RX errors 0  dropped 123  overruns 0  frame 0

可能原因:

  • 网卡缓冲区满(流量突增)
  • 网卡 offload / 驱动问题
  • 非本机 MAC 的包被丢弃(混杂模式相关)
  • 防火墙(iptables/nftables)DROP
  • 网桥 / bond / VLAN 配置异常

排查:

ethtool -S eth0 | grep -i drop
dmesg | grep -i eth0

2️⃣ netstat -s / ss -s 中的 dropped

TCPBacklogDrop: 123
ListenOverflows: 45
ListenDrops: 45

含义:

  • ListenOverflows / ListenDrops
    → 半连接队列或全连接队列满(SYN 被丢)
  • TCPBacklogDrop
    → 应用读取太慢,内核 socket 队列满

常见原因:

  • 并发太高
  • net.core.somaxconn 太小
  • 后端服务处理慢(如 Java / Nginx / DB)

优化示例:

sysctl -w net.core.somaxconn=65535
sysctl -w net.ipv4.tcp_max_syn_backlog=8192

二、防火墙导致的 dropped

iptables / nftables DROP

iptables -L -v -n

看到:

Chain INPUT (policy DROP)

或规则中有:

DROP all -- 0.0.0.0/0 0.0.0.0/0

✅ 这是主动丢弃,不是故障。


三、系统日志中的 dropped

1️⃣ journalctl 中 messages dropped

systemd-journald[xxx]: Missed X messages in system journal

原因:

  • 日志写入速度太快
  • journald 限速
  • 磁盘 IO 瓶颈

解决:

/etc/systemd/journald.conf
RateLimitInterval=0
RateLimitBurst=0

2️⃣ auditd dropped

auditctl -s
backlog_limit 123
lost 456

→ 审计事件过多,内核丢弃


四、硬件 / 内核资源 dropped

  • 内存不足 → OOM 前丢包
  • softirq 处理不过来
  • CPU 单核跑满(网络中断绑定问题)

排查:

top
mpstat -P ALL 1
cat /proc/softirqs

五、常见一句话总结

CentOS 出现 dropped,本质是“系统某个环节处理不过来,或主动策略丢弃”。

如果你愿意,可以告诉我:

  • 你在哪里看到 dropped(命令 / 日志)
  • CentOS 版本(7 / 8 / Stream)
  • 是网络 / 服务 / 日志问题

我可以直接帮你精准定位 ✅

0 踩