Linux
rx_queue_*_csum_err 和 rx_fifo_errors 的含義
我正在嘗試使用一台伺服器調試一些網路問題。我用多台顯示器監控這台機器,我發現有時 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
(或類似的東西)