实时查看网络接口丢包统计
ip -s link show <接口名>
或 ethtool -S <接口名>
查看 rx_dropped
(接收丢包)、tx_dropped
(发送丢包)等指标。nload
、iftop
工具实时监控流量,判断是否因高负载导致丢包。系统日志分析
/var/log/syslog
、/var/log/messages
或 journalctl -k
,搜索 dropped
、errors
等关键词,定位内核或驱动报错。抓包分析
tcpdump
抓取数据包,分析是否存在异常丢包(如特定端口或协议丢包)。定位丢包层级
ethtool -S
检查网卡硬件错误(如 rx_fifo_errors
、collision
),确认是否为网线、交换机或网卡硬件故障。ip -s link
查看 IP 层丢包,结合 netstat -s
分析 TCP/UDP 协议栈问题(如重传、拥塞)。ss -s
查看套接字状态,判断是否因应用连接数过多或超时导致丢包。排查系统配置与资源
iptables
/firewalld
)是否误拦截流量,开启日志记录后分析丢包规则。sar
监控负载,调整内核参数(如 net.core.rmem_max
)优化缓冲区。高级诊断工具
dropwatch
或 ftrace
跟踪内核丢包点,定位具体丢包函数。eBPF
工具(如 bpftrace
)动态分析网络栈行为,精准定位丢包逻辑。工具 | 用途 | 示例命令 |
---|---|---|
ip/ethtool |
查看接口与硬件统计 | ip -s link show eth0 ethtool -S eth0 |
tcpdump |
抓包分析丢包细节 | tcpdump -i eth0 -n |
nload/iftop |
实时流量监控 | nload iftop -i eth0 |
journalctl |
查看内核与系统日志 | `journalctl -k |
mtr |
路径丢包分析 | mtr -c 100 target_ip |
通过以上方法,可系统性定位 Linux 丢包问题,从硬件、内核、网络到应用层逐步排查。