在 CentOS 中看到 “dropped”(丢包)通常出现在网络相关的排查里,比如:
ifconfig / ip -s link 显示 RX dropped / TX droppednetstat -s 或 ss -s 里有 droppeddmesg / 系统日志提示 dropped下面按最常见原因 → 排查 → 修复来说明。
ip -s link
或
ifconfig
重点看:
RX droppedTX dropped现象:高并发时 RX dropped 增加
查看:
ethtool -g eth0
如果 rx 当前值很小(如 256),可增大:
ethtool -G eth0 rx 4096 tx 4096
✅ 永久生效(写入配置文件或 rc.local)
现象:单核软中断高,丢包
查看:
cat /proc/interrupts | grep eth0
开启 IRQ 均衡:
systemctl start irqbalance
systemctl enable irqbalance
现象:
dmesg 有:nf_conntrack: table full, dropping packet
查看:
sysctl net.netfilter.nf_conntrack_max
cat /proc/sys/net/netfilter/nf_conntrack_count
调大:
sysctl -w net.netfilter.nf_conntrack_max=1048576
永久:
echo "net.netfilter.nf_conntrack_max=1048576" >> /etc/sysctl.conf
sysctl -p
查看被 DROP 的规则:
iptables -L -n -v | grep DROP
或:
nft list ruleset
✅ 按需放行端口或关闭测试:
systemctl stop firewalld
查看:
netstat -s | grep -i drop
可能问题:
TCPBacklogDropListenOverflowsListenDrops修复思路:
sysctl -w net.core.somaxconn=65535
sysctl -w net.core.netdev_max_backlog=65535
尝试关闭:
ethtool -K eth0 gro off
ethtool -K eth0 lro off
ethtool -K eth0 tso off
ip -s link
dmesg | tail
ethtool -g eth0
systemctl status irqbalance
sysctl net.netfilter.nf_conntrack_count
iptables -L -n -v | grep DROP
请告诉我:
cat /etc/centos-release)我可以直接给你具体修复命令。