Linux

rx_queue_*_csum_err 和 rx_fifo_errors 的含義

  • December 11, 2014

我正在嘗試使用一台伺服器調試一些網路問題。我用多台顯示器監控這台機器,我發現有時 ping 錯誤率會躍升至 5/10%

我在 ubuntu 上執行,我看到 ethtool -S eth0 的輸​​出顯示 rx_queue_*_csum_errboth rx_fifo_errors 的正值(幾千)。

這個計數器實際跟踪什麼,是否有任何眾所周知的原因使它們不為 0?

rx_fifo_errors= rx_queue_*_drops 的總數

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

您可以將您的“ Current Hardware Settings”為“ ”設置為“ ”RX中顯示的限制Pre-set maximums

# ethtool -G eth0 rx 4096

**注意:**此設置在重新啟動後將無法使用。您可能想要使用rc.local(或類似的東西)

引用自:https://serverfault.com/questions/650596