Red Hat Training
A Red Hat training course is available for RHEL 8
第33章 NIC リングバッファーの監視と調整
受信リングバッファーは、デバイスドライバーとネットワークインターフェイスコントローラー (NIC) の間で共有されます。カードは、送信 (TX) および受信 (RX) リングバッファーを割り当てます。名前が示すように、リングバッファーは循環バッファーであり、オーバーフローによって既存のデータが上書きされます。NIC からカーネルにデータを移動するには、ハードウェア割り込みと、SoftIRQ とも呼ばれるソフトウェア割り込みの 2 つの方法があります。
カーネルは RX リングバッファーを使用して、受信パケットをデバイスドライバーで処理できるようになるまで格納します。デバイスドライバーは、通常は SoftIRQ を使用して RX リングをドレインします。SoftIRQ は、着信パケットを sk_buff
または skb
と呼ばれるカーネルデータ構造に配置し、カーネルを経由して関連するソケットを所有するアプリケーションまでの旅を開始します。
カーネルは TX リングバッファーを使用して、ワイヤ宛ての発信パケットを保持します。
これらのリングバッファーはスタックの一番下にあり、パケットドロップが発生する重要なポイントであり、ネットワークパフォーマンスに悪影響を及ぼします。
33.1. 破棄されたパケット数の表示
ethtool
ユーティリティーを使用すると、管理者はネットワークドライバーの設定をクエリー、設定、または制御できます。
リングバッファーが使い果たされると、ethtool -S interface_name
の出力で破棄またはドロップなどのカウンターがインクリメントされます。破棄されたパケットは、カーネルがパケットを処理できるよりも早く利用可能なバッファーが満杯になっていることを示しています。
手順
enp1s0
インターフェイスのドロップカウンターを表示します。$ ethtool -S enp1s0