ethtool によって報告されたパケットドロップ統計の把握に助けが必要 (EL7/EL8)

ethtool によって報告されたパケットドロップ統計の把握に助けが必要 (EL7/EL8)

私は、OS のさまざまなツール (およびさまざまなレベル) によって報告されるドロップの詳細について調べようとしてきました。これまでのところ、Google 検索で掘り出すことができた情報のほとんどは、私にとってはむしろ「大雑把」なようです。

まず、私が見ているサンプル ホストでは、ドロップがゼロであることを示してい/proc/net/softnet_statます。これは、NIC リング バッファのサイズが適切である可能性が高いことを示しています。次にethtool...

NIC マルチキューは次のようになります。

# ethtool -l em1
Channel parameters for em1:
Pre-set maximums:
RX:     16
TX:     16
Other:      n/a
Combined:   n/a
Current hardware settings:
RX:     16
TX:     16
Other:      n/a
Combined:   n/a

ここで、同じインターフェースの rx ドロップは次のようになります。

# ethtool -S em1 | grep rx.*dropped:
     rx_dropped: 1742
     rx0_dropped: 0
     rx1_dropped: 0
     rx2_dropped: 0
     rx3_dropped: 0
     rx4_dropped: 0
     rx5_dropped: 0
     rx6_dropped: 0
     rx7_dropped: 0
     rx8_dropped: 0
     rx9_dropped: 0
     rx10_dropped: 0
     rx11_dropped: 0
     rx12_dropped: 0
     rx13_dropped: 0
     rx14_dropped: 0
     rx15_dropped: 0

ここでの私の仮定はここでの 16 個の個別キューは、NIC リング バッファ マルチキューに関連しています。ここでのすべてのゼロは、 で見たものと一致しているようです。さらに、ドロップが発生している場合は、 でカウントされたドロップがこの出力に反映されるものsoftnet_statと想定しています(現在は発生していません)。softnet_statethtool

こうすると、実際には増加している曖昧な'rx_dropped'フィールドが残ります。したがって、これは NIC リング バッファとは関係がなく、上位プロトコルのドロップ カウンタであるというのが私の推測です。このカウントは、実際にip -sはインターフェイスの統計に反映されています。

# ip -s link show dev em1
2: em1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
    link/ether 94:18:82:70:2e:42 brd ff:ff:ff:ff:ff:ff
    RX:       bytes      packets errors dropped  missed   mcast
    219512805660516 147616023841      0    1742       0 5624266
    TX:       bytes      packets errors dropped carrier collsns
    649765242476657 450168813646      0       0       0       0

これらのドロップは、不正なパケット、不良ポート、混雑したアプリ バッファなど、さまざまなプロトコル関連の問題の結果である可能性があると考えています。

これは、 によって報告された「異なる」ドロップ統計を説明する合理的な分析のように思えますかethtool -S?

関連情報