实时查看网络接口丢包统计
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 eth0ethtool -S eth0 |
tcpdump |
抓包分析丢包细节 | tcpdump -i eth0 -n |
nload/iftop |
实时流量监控 | nloadiftop -i eth0 |
journalctl |
查看内核与系统日志 | `journalctl -k |
mtr |
路径丢包分析 | mtr -c 100 target_ip |
通过以上方法,可系统性定位 Linux 丢包问题,从硬件、内核、网络到应用层逐步排查。