私の10G NICが単一のRX-TXキューモードまたはマルチキューで実行されているかどうかを判断するために実行するコマンドを誰かに教えてもらえますか?_cat /proc/interrupts
_
_root@hostname:scripts]# cat /proc/interrupts | grep ens1f0
94: 360389979 0 0 0 184 0 330 0 0 0 0 0 0 0 0 0 0 169 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-Edge ens1f0-TxRx-0
95: 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IR-PCI-MSI-Edge ens1f0
_
シングルキューモードで動作している場合、どうすればマルチキューを有効にできますか?
ethtool -l <interface>
インターフェイスのドライバがそのようなものをサポートしている場合、そのインターフェイスに関連付けられたキューのステータスを表示します。 ethtool-landでは、マルチキューは「チャネル」で示されます。
次のようなethtoolからの応答が表示された場合:
homeserver-02 ~ # ethtool -l enp4s0
Channel parameters for enp4s0:
Cannot get device channel parameters
: Operation not supported
homeserver-02 ~ #
あなたのNICドライバはマルチキューをサポートしていません。あなたがそれを考えているならすべきです、あなたが最高のものを使っていることを確認してください-NICに一致するドライバー、最新の安定したカーネルにアップグレードしてその機能が有効になっているかどうかを確認し、NICに特別なファームウェア要件があるかどうかを確認します。
また、 https://blog.cloudflare.com/how-to-achieve-low-latency/ の作成者からの詳細情報は、低遅延の10Gbイーサネットチューニングに役立つ場合があります。
$ man ethtool # for reference on -l and -L
乾杯!お役に立てば幸いです。
https://www.kernel.org/doc/Documentation/networking/multiqueue.txt にあるドキュメントには、いくつかの便利な概念があり、tc
コマンドを使用して、利用可能なマルチキューを操作しますパラメーター。あなたの意図を知らなければ、具体的な答えを出すのは難しいですが、この情報はあなたを正しい方向に向けさせるでしょう。
ethtool -S [interface]
を使用すると、使用可能なキューの数を確認できます。
複数のキューを有効にしている場合は、それらが表示されます。さらに、watchコマンドを使用して、rx(tx)キューのトラフィックを監視できます。
watch -d -n 2 "ethool -S [interface] | grep rx | grep packets | column
キューのフィルタリングには、tc qdisc show dev [interface]
を使用します
ADqまたはDCBキューがある場合、それらはここに表示されます。