qdiscアルゴリズムsysctlとtcの変更

qdiscアルゴリズムsysctlとtcの変更

tcコマンドとqdiscで何を制御しますかsysctl net.core.default_qdisc?考える

$ tc qdisc show dev eth2
qdisc mq 0: dev eth2 root 

$ sysctl net.core.default_qdisc
net.core.default_qdisc = pfifo_fast

このシステムでは、デフォルトのqdisc設定は次のとおりです。pfifo_fastしかし、使用されたqdiscはMQ(マルチキュー) 再起動後。それらが直接関連していないか、少なくとも「すぐに利用可能な」方法ではないことは明らかです。 このリンクLinuxネットワークスタックのキューイングに関して明確にtc qdisc ...適用されます。待ち行列これは、IPスタックとドライバキューの間にあります。

誰もがこれら2つを明確に区別するのに役立ちますか?

答え1

マルチキュー(「mq」)スケジューラを使用すると、Linuxカーネルは、パケット処理負荷が複数のCPUコアに分散するRSS(Receive Side Scaling)という機能をサポートできます。

私のUbuntu 18.04.1デスクトップシステムでは、net.core.default_qdiscはpfifo_fastに設定されており、次のコマンドを実行します。

$ tc qdisc show dev eth0

出力は次のとおりです。

qdisc mq 0: root
qdisc pfifo_fast 0: parent :2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: parent :1 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

mqスケジューラは、デフォルトでデバイスeth0に2つのpfifo_fastキューを設定します。

問題が解決することを願っています。

関連情報