Linux
rx_missed_errors 是什麼意思?
當我們用我們測試 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
立即將緩衝區設置為最大值不一定是一個好主意:更大的緩衝區會導致延遲增加。我建議逐步增加緩衝區,並觀察錯誤率以了解它是如何演變的。