rx_queue _ * _ csum_err和rx_fifo_errors的含义

我正在尝试用一台服务器debugging一些networking问题。 我用多台显示器监视这台机器,我发现有时ping错误率跳到5/10%

我在ubuntu上运行,我看到ethtool -S eth0的输出显示rx_queue _ * _ csum_errboth rx_fifo_errors(几千)的正值。

这个计数器实际跟踪的是什么,有没有非常有名的原因,他们是非0?

rx_fifo_errors = rx_queue _ * _下降的总数

rx_queue_*_drops =每个队列丢弃的数据包数量

听起来像RX中断不足够快地分配缓冲区,导致适配器丢弃数据包。

检查并增加环形缓冲区。

 # ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 256 RX Mini: 0 RX Jumbo: 0 TX: 256 

您可以将“ RX ”的“ Current Hardware SettingsCurrent Hardware Settings为“ Pre-set maximums

 # ethtool -G eth0 rx 4096 

注意:此设置将无法在重新启动后存活。 你可能想使用rc.local (或类似的东西)