ifconfig 发现RX dropped不断累加

现象

ifconfig 发现RX dropped 数字比较大,持续增加,RX errors 很小,基本不变,RX overruns 都是0。

排查过程:

netstat -s 查看网络层统计信息

ethtool -S eth0 查看网卡统计信息

cat  /proc/net/dev 查看网卡统计信息

ifconfig 部分字段的理解:
RX errors: 表示总的收包的错误数量,这包括 too-long-frames 错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。
RX dropped: 表示数据包已经进入了 Ring Buffer,但是由于内存不够,上层协议不支持等系统原因,导致在拷贝到内存的过程中被丢弃,netstat -s可以看到更详细的原因。
RX overruns: 表示了 fifo 的 overruns,这是由于 Ring Buffer(aka Driver Queue) 传输的 IO 大于 kernel 能够处理的 IO 导致的,而 Ring Buffer 则是指在发起 IRQ 请求之前的那块 buffer。
很明显,overruns 的增大意味着数据包没到 Ring Buffer 就被网卡物理层给丢弃了,而 CPU 无法即使的处理中断是造成 Ring Buffer 满的原因之一
 

没发现异常,一系列百度后,发现:

从2.6.37内核以后,改变了dropped包的统计方式,其不再是以错误包的方式统计,以下情况也会计入dropped包。其值只是做为一种状态统计了。

  • Softnet backlog full — (Measured from /proc/net/softnet_stat)
  • Bad / Unintended VLAN tags
  • Unknown / Unregistered protocols
  • IPv6 frames when the server is not configured for IPv6

收到交换机发送的广播路由协议或者其他协议数据,主机并未注册处理,或者主机没有启用ipv6而交换机上有ipv6数据过来,都会导致dropped统计累加。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值