txqueuelenとethtool txの違い


12

以下のtxqueuelenいずれかで適用できる設定の違いは何ですか?

ifconfig eth4 txqueuelen 5000
ip link set eth4 txqueuelen 5000

そして、以下txで適用できるリングサイズ設定:

ethtool -G eth4 tx 4096

これらはグローバル/proc/sys/net/core/wmem*設定とどのように関連していますか?

RHEL6を使用しています。

回答:


6

設定はバイト単位でTXソケットバッファの初期サイズと最大サイズを制御します。キュー自体はポインタのリンクされたリストにすぎませんが、カーネルは、ソケットバッファに追加および削除される際にが消費する合計バイトサイズも追跡します。sysctlのは、新しいソケットのデフォルトの初期上限を設定します()。アプリケーションは、ソケットのバッファーのサイズを増やすことができ、その機能の上限です()。net.core.wmem_defaultwmem_maxskbskbwmem_defaultnet/core/sock.c:sock_init_data()wmem_maxnet/core/sock.c:sock_setsockopt()

パケットがソケットバッファから削除され、カーネルネットワークスタックを通過すると、NIC自体にロードされるのを待機するインターフェイスの送信キューに置かれます。txqueuelen設定ifconfigipコマンドキューイング規律のためにカーネルの送信キューごとに許可されるフレームの数です(net/sched/sch_generic.c:pfifo_fast_enqueue())。

最後に、ethtool -Gioctlを使用して、NIC自体のリングバッファのリングエントリの数を設定します。


2

私は長い間説明された説明をすることになっていることを知っていますが、D セイモンはすでに持っています。要するにtxqueuelenバッファサイズです。すべてのネットワークパケットはこのバッファーに収まりますが、そのバッファーにtx入るIPパケットのパケットサイズです。それは私がその投稿を正しく理解している場合です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.