rx_missed_errors 的含义是什么?

rx_missed_errors 的含义是什么?

当我们测试 eth 卡时,ethtool -S 我们得到 rx_missed_errors: 4649

是什么意思 rx_missed_errors?这是一个大问题吗?

 rx_over_errors: 0
 rx_crc_errors: 0
 rx_frame_errors: 0
 rx_fifo_errors: 0
 rx_missed_errors: 4649
 tx_aborted_errors: 0
 tx_carrier_errors: 0
 tx_fifo_errors: 0
 tx_heartbeat_errors: 0
 rx_long_length_errors: 0
 rx_short_length_errors: 0
 rx_csum_offload_errors: 




ethtool -g eth847
Ring parameters for eth847:
Pre-set maximums:
RX:             8192
RX Mini:        0
RX Jumbo:       0
TX:             8192
Current hardware settings:
RX:             1024
RX Mini:        0
RX Jumbo:       0
TX:             1024

答案1

的确切含义rx_missed_errors取决于所使用的以太网驱动程序,但它应该计算接收端丢失的数据包,IENIC 收到但由于无法存储或处理而不得不丢弃的数据包 — 通常是因为它们所在的 FIFO 已满。

这是否是一个主要问题取决于所丢弃的流量。在大多数情况下,丢弃的数据包最终将在必要时由堆栈的一层或另一层重新传输。

如果丢弃是突发性的,您可以尝试增加缓冲区(如果您的 NIC 允许):使用 检查最大设置ethtool -g,然后使用 进行设置ethtool -G。对于您的情况,您可以将接收和传输环设置为最大 8192 的任何值:

ethtool -G eth847 rx 8192

立即将缓冲区设置为最大值不一定是个好主意:较大的缓冲区可能会导致延迟增加。我建议逐步增加缓冲区,并观察错误率以了解其变化情况。

相关内容