net.if.in.dropped rx_missed_errors 丢包

环境 Linux 万兆网卡

# ethtool -i eth0
driver: ixgbe
version: 3.15.1-k
firmware-version: 0x800003df
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

# ethtool eth0
Settings for eth0:
	Supported ports: [ FIBRE ]
	Supported link modes:   10000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: No
	Advertised link modes:  10000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Speed: 10000Mb/s
	Duplex: Full
	Port: FIBRE
	PHYAD: 0
	Transceiver: external
	Auto-negotiation: off
	Supports Wake-on: d
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

falcon监控请求较大时出现drop丢包,rx_missed_errors

bond1     Link encap:Ethernet  HWaddr 24:4C:07:E3:C0:CE  
          inet addr:10.12.123.x  Bcast:10.12.123.x  Mask:255.255.255.192
          inet6 addr: 
### RX errors 的含义与解释 `RX errors` 是 `ifconfig -a` 输出中的一个重要统计指标,表示接收数据包时发生的错误总数。这些错误来源于网卡硬件层和驱动层的统计信息,而不是系统软件协议栈中的丢包或错误[^1]。具体来说,`RX errors` 的值是由以下几类错误组成的: - **Frame alignment errors**:帧对齐错误,通常是因为接收到的数据包格式不正确或损坏。 - **FIFO buffer overruns**:FIFO 缓冲区溢出错误,表示网卡接收缓冲区无法及时处理传入的数据包。 - **CRC errors**:循环冗余校验错误,表示接收到的数据包校验失败。 - **Length errors**:长度错误,表示接收到的数据包长度不符合预期。 在内核中,`RX errors` 的统计信息来源于 `stats->rx_errors`,它是一个累积计数器,记录了所有接收错误的发生次数[^1]。 以下是 `ifconfig` 输出中 `RX errors` 的相关字段及其含义: - **errors**: 总的接收错误数量,等于 `stats->rx_errors`。 - **dropped**: 接收数据包被丢弃的数量,通常是由于系统资源不足(如内存)导致的丢弃,由 `stats->rx_dropped + stats->rx_missed_errors` 统计[^1]。 - **overruns**: FIFO 缓冲区溢出错误数量,由 `stats->rx_fifo_errors` 统计[^1]。 - **frame**: 帧错误数量,包括长度错误、CRC 错误等,由 `stats->rx_length_errors + stats->rx_over_errors + stats->rx_crc_errors + stats->rx_frame_errors` 统计。 例如,在以下 `ifconfig` 输出中: ```plaintext RX packets:0 errors:78 dropped:0 overruns:0 frame:0 ``` - `errors:78` 表示总共发生了 78 次接收错误。 - `dropped:0` 表示没有因系统资源不足而丢弃的数据包。 - `overruns:0` 表示没有发生 FIFO 缓冲区溢出错误。 - `frame:0` 表示没有帧错误。 ### 示例代码 以下是一个简单的 Python 脚本,用于解析 `ifconfig` 输出并提取 `RX errors` 相关信息: ```python import re import subprocess def parse_ifconfig(interface): result = subprocess.run(['ifconfig', interface], capture_output=True, text=True) output = result.stdout match = re.search(r'RX packets:\d+ errors:(\d+) dropped:(\d+) overruns:(\d+) frame:(\d+)', output) if match: errors, dropped, overruns, frame = match.groups() return { 'errors': int(errors), 'dropped': int(dropped), 'overruns': int(overruns), 'frame': int(frame) } return None # 示例调用 interface_stats = parse_ifconfig('eth3') print(interface_stats) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值