首页主机资讯Linux dropped怎么维护

Linux dropped怎么维护

时间2025-11-14 08:19:04发布访客分类主机资讯浏览822
导读:Linux dropped 的含义与维护思路 一、先明确 dropped 的具体场景 出现在网络监控或网卡统计中:如 ifconfig/ethtool -S 显示 RX dropped、TX dropped,表示网卡或内核网络栈在处理数据...

Linux dropped 的含义与维护思路

一、先明确 dropped 的具体场景

  • 出现在网络监控或网卡统计中:如 ifconfig/ethtool -S 显示 RX droppedTX dropped,表示网卡或内核网络栈在处理数据包时被丢弃,常见与驱动/Ring Buffer/队列/连接跟踪等有关。
  • 出现在系统日志中:如 nf_conntrack: table full, dropping packet,表示连接跟踪表满导致新连接被丢弃。
  • 出现在服务或客户端侧:如新连接建立失败、出现 connection reset by peer、访问超时,常与 半连接/全连接队列溢出 相关。
  • 出现在系统/会话层面:如 SSH/终端意外断开、会话“dropped”,多与系统异常、资源不足或配置错误有关。

二、网络层面的 dropped 维护清单

  • 快速定位
    • 查看接口丢包:ip -s link show;ethtool -S | egrep ‘drop|Drop|errors’;ifconfig 。
    • 检查内核与系统日志:dmesg | tail -n 200;journalctl -xe;grep -i drop /var/log/messages /var/log/syslog。
    • 抓包定位:tcpdump -ni any -vv port < 业务端口> 。
  • 常见根因与处置
    • 连接跟踪表满(nf_conntrack)
      • 现象:日志出现 “nf_conntrack: table full, dropping packet”。
      • 处置:适度调大 net.netfilter.nf_conntrack_maxnf_conntrack_buckets,并缩短 nf_conntrack_tcp_timeout_established;必要时过滤不需要跟踪的流量(如已做 SNAT 的返回流量)。
      • 参考计算(64 位):CONNTRACK_MAX ≈ RAM_BYTES / 16384 / 2;哈希桶建议为 nf_conntrack_max / 4。示例(64GB 内存):nf_conntrack_max=2097152,buckets=524288。修改后持久化到 /etc/sysctl.conf 并评估重启窗口。
    • 半连接/全连接队列溢出
      • 现象:netstat -s | egrep ‘listen queue|overflowed|SYNs.*dropped’ 持续增长;客户端大量超时或 RST。
      • 处置:调大 net.core.somaxconn 与 listen(backlog);视业务调 net.ipv4.tcp_max_syn_backlog;必要时设置 net.ipv4.tcp_abort_on_overflow=1 快速失败;优化应用并发与 accept 能力。
    • Ring Buffer/驱动层丢包
      • 现象:ethtool -S 显示 rx_fifo_errors/rx_over_errors/rx_missed_errors 增长。
      • 处置:适度增大网卡 rx/tx ringrss/napi 队列;升级驱动与固件;检查物理链路/双工/速率协商与交换机端口错包。
    • 防火墙/策略/连接跟踪策略误伤
      • 处置:iptables-save -t filter/nat/mangle 检查 DROP/REJECT;排查是否对大量短连接或未必要流量做连接跟踪;对已知返回流量使用 NOTRACK/RAW 表跳过跟踪。

三、系统层面的 dropped 维护清单

  • 系统日志与内核消息
    • 使用 journalctl -xedmesg、/var/log/messages 定位 OOM、驱动异常、文件系统只读等导致的会话/服务中断。
  • 资源与硬件健康
    • 监控内存/CPU/IO:top/vmstat/iotop;检查温度(如 lm-sensors);磁盘健康(如 smartctl);必要时做内存测试(如 memtest86+)。
  • 文件系统与启动
    • 异常关机/只读挂载后执行文件系统检查(如 fsck);必要时进救援/单用户模式修复;更新引导(如 GRUB)与 initramfs。
  • 软件与服务
    • 保持系统与驱动更新;回滚近期变更验证问题;按需在 systemd 中设置 Restart= 与 RestartSec 提升自愈;对关键数据实施定期备份与演练恢复。

四、面向运维的常态化预防与优化

  • 建立基线:定期采集并记录 ifconfig -s/ethtool -S、netstat -s、nf_conntrack 计数、dmesg 错误、关键业务延迟/丢包,便于对比异常。
  • 容量规划:结合并发连接数规划 nf_conntrack_maxbuckets,避免“表满”与哈希冲突;对大流量/NAT 场景优先使用连接跟踪旁路策略。
  • 队列与协议栈调优:按业务峰值调优 somaxconn/tcp_max_syn_backlog,合理设置 tcp_abort_on_overflow;缩短 ESTABLISHED 超时以回收连接;必要时启用 tcp_tw_reuse 等策略缓解端口/状态压力(需充分测试)。
  • 驱动与硬件:使用稳定版驱动与固件;关注网卡队列、中断绑定(RPS/XPS)与 RSS 配置;对物理链路与交换机端口进行错包/误码巡检。
  • 变更与回滚:内核/驱动/防火墙/应用配置变更采用灰度与回滚预案;变更前后保留日志与监控截图,便于快速定位。

五、高频命令速查表

目标 命令示例
接口丢包与错误 ip -s link show; ethtool -S
内核与系统日志 dmesg
抓包定位 tcpdump -ni any -vv port
连接跟踪状态 cat /proc/sys/net/netfilter/nf_conntrack_{ max,count} ; dmesg
队列溢出检查 netstat -s
动态调优示例 sysctl -w net.netfilter.nf_conntrack_max=2097152; sysctl -w net.core.somaxconn=32768
持久化 echo “net.netfilter.nf_conntrack_max=2097152” > > /etc/sysctl.conf & & sysctl -p

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


若转载请注明出处: Linux dropped怎么维护
本文地址: https://pptw.com/jishu/747660.html
如何自定义Debian Apache错误页面 Linux dropped怎么使用

游客 回复需填写必要信息