Linux

rx_missed_errors 是什麼意思?

  • March 5, 2019

當我們用我們測試 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

的確切含義rx_missed_errors取決於使用的​​乙太網驅動程序,但它應該在接收方計算失去的數據包,NIC 接收但由於無法儲存或處理而不得不丟棄的數據包——通常是因為它們的 FIFO會去是滿的。

這是否是一個主要問題取決於被丟棄的流量。在大多數情況下,如果有必要,丟棄的數據包最終會被堆棧的一層或另一層重傳。

如果丟棄是突發的,您可以嘗試增加緩衝區(如果您的 NIC 允許):使用 檢查最大設置ethtool -g,然後使用 進行設置ethtool -G。在您的情況下,您可以將接收和發送環設置為高達 8192 的任何值:

ethtool -G eth847 rx 8192

立即將緩衝區設置為最大值不一定是一個好主意:更大的緩衝區會導致延遲增加。我建議逐步增加緩衝區,並觀察錯誤率以了解它是如何演變的。

引用自:https://unix.stackexchange.com/questions/504405