
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
使用されるイーサネットドライバによって異なりますが、受信側で失われたパケット数を計算する必要があります。つまりNICで受信したが保存または処理できなかったため廃棄しなければならなかったパケット。通常、そのパケットを含むFIFOがいっぱいになります。
これが深刻な問題かどうかは、破棄されるトラフィックによって異なります。ほとんどの場合、ドロップされたパケットは、必要に応じて最終的にスタックの1つまたは別の層によって再送信されます。
ドロップが暴走している場合は、バッファを増やすことができます(NICで許可されている場合)。で最大設定を確認し、 でethtool -g
設定しますethtool -G
。あなたの場合は、受信と送信リングを最大8192まで設定できます。
ethtool -G eth847 rx 8192
バッファをすぐに最大値に設定することは必ずしも良い考えではありません。バッファが大きいほど、待ち時間が長くなることがあります。徐々にバッファを増やし、エラーレートがどのように変化するかを観察することをお勧めします。