/sys/class/net/
フォルダ内のネットワークインターフェイスメトリックを収集して表示するプログラムを作成しています。
値の意味を読んだとき、rx_dropped
この記事の最初の回答で指定されているように、この値の考えられる理由がたくさんあるという結論に達しました。
https://serverfault.com/questions/528290/ifconfig-eth0-rx-dropped-packets
tx_dropped
ただし、この値に関する情報が見つかりません。まず、これは承認されておらず、キューから削除されたTCPセグメントの送信に関連していると思います。
しかし、これを実行していますcurl 8.8.7.5
が、結果としてWiresharkで見られる再送が発生しますが、tx_dropped値はまだ0です。
実際にプログラムを実行している間tx_dropped
。0
どのような状況で増加しますかtx_dropped
?
答え1
tx_dropped
(および)カウンタrx_dropped
はドライバごとに異なるため、使用しているドライバのドキュメントまたはコードソースを確認して、これらのフィールドが正確に何を意味するのかを判断する必要があります。
たとえば、tg3
10G Intel NIC用のドライバには、tx_dropped
カウンタを増やす次のコードパスしかありません。https://github.com/torvalds/linux/blob/fb054096aea0576f0c0a61c598e5e9676443ee86/drivers/net/ethernet/broadcom/tg3.c#L8139
最後の通話の大部分がgoto drop;
TSOとGSOのオフロードに関連しているか、チェックサム障害のためにVLANタグ付きパケットを無視する部分がどこにあるかを考えているようです。それ以外の場合、DMA メモリ割り当ての失敗だけでtx_dropped
増加が発生します。
増加が見られる場合は、tx_dropped
NICのすべてのオフロード機能を無効にして、役に立つことを確認することをお勧めします。