首页主机资讯Linux dropped解决方案

Linux dropped解决方案

时间2025-11-28 11:30:04发布访客分类主机资讯浏览857
导读:Linux dropped 定位与解决方案 一 快速判断与分层定位 明确“dropped”出现的位置与含义:可能是网络接口统计中的 RX/TX dropped,也可能是内核/连接跟踪/防火墙等层面的丢包。 分层排查顺序建议:物理与链路 →...

Linux dropped 定位与解决方案

一 快速判断与分层定位

  • 明确“dropped”出现的位置与含义:可能是网络接口统计中的 RX/TX dropped,也可能是内核/连接跟踪/防火墙等层面的丢包。
  • 分层排查顺序建议:物理与链路 → 网卡驱动与队列 → 内核网络栈与连接跟踪 → 应用与系统资源。
层面 典型现象 关键命令 常见根因 处理要点
物理/链路 ping 高丢包、traceroute 某跳异常 ping、traceroute、ip a、route -n MTU/路由异常、链路不稳定 校正 MTU、核对路由、排除物理链路问题
网卡驱动/Ring Buffer ifconfig 显示 RX/TX dropped 增长;ethtool -S 见 rx_fifo 增长 ifconfig、ethtool -S、ethtool -g/-G Ring Buffer 不足、中断/CPU 处理不及时 增大 Ring Buffer、检查中断与 CPU 亲和、必要时降速/优化中断分布
内核 backlog /proc/net/softnet_stat 某核第二列增长 cat /proc/net/softnet_stat netdev_max_backlog 不足 调大 netdev_max_backlog、提升软中断处理能力
分片重组 netstat -s 见 fragments dropped after timeout / reassembles failed netstat -s、dmesg 分片超时/内存阈值/乱序 调整 ipfrag_time / ipfrag_high_thresh / ipfrag_low_thresh / ipfrag_max_dist
连接跟踪 dmesg 出现 “nf_conntrack: table full, dropping packet” dmesg、conntrack -L、/proc/sys/net/netfilter/nf_conntrack_* nf_conntrack 表满 增大 nf_conntrack_max / nf_conntrack_buckets、缩短超时、优化规则
防火墙/安全软件 规则误拦截、业务偶发断连 iptables -S、nft list ruleset、journalctl DROP/REJECT 规则、策略冲突 校正规则、临时停用验证、审计日志
资源瓶颈 CPU/内存/带宽占用高、软中断飙高 top、vmstat、iostat、mpstat -P ALL 1 资源竞争、磁盘 IO 高阻塞网络线程 限流/扩容、中断/队列优化、调优调度与 I/O

二 关键命令与阈值示例

  • 连通性与路径
    • ping 目标 -c 20 观察丢包率;traceroute 定位异常跳点;ip a、route -n 核对 IP/掩码/路由
  • 接口与驱动
    • ifconfig/ethtool 查看 RX/TX dropped、errors、overruns、fifo;ethtool -g/-G 查看/调整 Ring Buffer;必要时 ethtool -r 重新协商或固定速率/双工。
  • 内核与协议栈
    • /proc/net/dev 与 /proc/net/softnet_stat 检查 backlog 溢出;netstat -s 检查 分片重组 与超时;必要时调整 netdev_max_backlog、netdev_budget、ipfrag_*。
  • 连接跟踪
    • dmesg | grep nf_conntrack;conntrack -L;/proc/sys/net/netfilter/nf_conntrack_* 查看/调整 nf_conntrack_max / buckets / 超时

三 常见场景与处置要点

  • MTU/巨帧与路径 MTU
    • 现象:大包业务时延抖动或偶发失败。处理:核对接口 MTU(常见 1500,条件允许可启用 巨帧),必要时启用 TCP MTU Probe 与合理分片策略。
  • Ring Buffer 溢出
    • 现象:ifconfig/ethtool 见 fifo/overruns 增长。处理:ethtool -G 增大 RX/TX Ring,检查中断与 CPU 亲和/多队列(RSS),必要时优化中断分布或升级网卡/驱动。
  • 内核 backlog 溢出
    • 现象:/proc/net/softnet_stat 某核第二列增长。处理:调大 net.core.netdev_max_backlog,并提升软中断处理能力(如适当增大 net.core.netdev_budget)。
  • 分片重组失败/超时
    • 现象:netstat -s 见 fragments dropped after timeout / reassembles failed。处理:适当增大 net.ipv4.ipfrag_time / ipfrag_high_thresh / ipfrag_low_thresh,必要时将 ipfrag_max_dist 设为 0 关闭安全距检查(仅在明确乱序来源时)。
  • 连接跟踪表满
    • 现象:dmesg 报 “nf_conntrack: table full”。处理:增大 nf_conntrack_max / nf_conntrack_buckets,缩短 nf_conntrack_tcp_timeout_established,梳理规则减少无用跟踪,必要时分流出高并发短连接流量。
  • 防火墙/安全软件误拦截
    • 现象:端口偶发不通或连接被重置。处理:审计 iptables/nftables 与主机安全软件策略,临时停用验证,修正规则顺序与匹配范围。

四 参数优化与变更建议

  • 网络栈与队列
    • 增大内核网络缓冲与队列:net.core.rmem_max、net.core.wmem_max;net.core.netdev_max_backlog;net.core.netdev_budget(结合 CPU/中断评估逐步调优)。
  • 分片重组
    • 视业务 RTT/乱序情况调整:net.ipv4.ipfrag_time、net.ipv4.ipfrag_high_thresh、net.ipv4.ipfrag_low_thresh、net.ipv4.ipfrag_max_dist(仅在明确乱序来源时关闭安全距检查)。
  • 拥塞与传输
    • 选择更契合链路的拥塞控制(如 BBR),在合规场景启用 TCP Fast Open;结合业务 RTT/带宽调优窗口与缓冲相关参数。
  • 变更流程
    • 任何 sysctl/ethtool 调整务必:备份配置 → 单参数小步调整 → 持续观测(丢包计数、时延、CPU/软中断)→ 必要时回滚。

五 监控与验证

  • 持续观测
    • 接口层:watch -n 1 “ifconfig ;ethtool -S | egrep ‘rx_fifo|overruns|dropped’”;/proc/net/dev 与 /proc/net/softnet_stat 关注增长趋势。
    • 协议层:netstat -s | egrep ‘timeout|reassembles|fragments’;dmesg | grep -i nf_conntrack;conntrack -L 观察表使用率。
    • 路径与连通:定期 ping/traceroute,业务侧记录时延与错误码,验证优化有效性。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux dropped解决方案
本文地址: https://pptw.com/jishu/758855.html
Linux dropped案例分析 CentOS Node.js集群搭建方法

游客 回复需填写必要信息