Linux dropped(丢包)排查可从以下方面入手:
查看网络接口统计
ip -s link show <接口名>
或ethtool -S <接口名>
,关注rx_dropped
(接收丢包)、tx_dropped
(发送丢包)字段,判断是否因网卡队列满或硬件问题导致。/proc/net/dev
查看rx_dropped
、tx_dropped
,区分内核层或驱动层丢包。检查防火墙规则
iptables -L -v -n
查看是否有大量DROP
规则命中,或通过journalctl
搜索IPTABLES_DROP
日志。nf_conntrack
是否溢出,可通过dmesg
或/proc/sys/net/netfilter/nf_conntrack_count
检查。分析系统日志
journalctl
或查看/var/log/syslog
,搜索dropped
、error
等关键词,定位内核或驱动报错。监控网络流量与性能
iftop
、nload
监控实时流量,判断是否因拥塞丢包。tcpdump
抓包分析,确认丢包发生在哪一层(如IP层、传输层)。调整内核参数
net.core.netdev_max_backlog
(接收队列长度)、tcp_max_syn_backlog
(SYN队列长度)等参数,通过sysctl
修改。排查硬件与驱动
smartctl
、memtest86
检测硬件故障。参考来源: