通过tc
命令 vs控制什么 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 堆栈和驱动程序队列之间的队列。
任何人都可以为我消除这两个歧义吗?
多队列(“mq”)调度程序使 Linux 内核能够支持称为接收端缩放(RSS)的功能,其中数据包处理的负载分布在多个 CPU 内核上。
在我的 Ubuntu 18.04.1 桌面系统上,net.core.default_qdisc 设置为 pfifo_fast,我执行以下命令:
这是输出:
mq 调度程序默认在设备 eth0 上配置了两个 pfifo_fast 队列。
希望这可以解决问题。