首页/系统/Linux 内核与性能调优速查/net.core.default_qdisc 默认队列规则
sysctl 内核参数72 条

net.core.default_qdisc 默认队列规则

新网卡默认使用的队列规则(现代内核为 fq_codel);启用 BBR 时常见搭配 fq,低延迟转发场景可关注 codel 系列算法。

default_qdisc 是什么

net.core.default_qdisc 指定新创建的网卡队列规则(qdisc)使用哪种算法,现代内核常见默认值是 fq_codel。队列规则决定发包排队的方式:fq_codel 通过流隔离与主动丢弃来压低缓冲膨胀带来的延迟,fq 则提供分片与限速能力,常与 bbr 拥塞控制搭配使用。这个参数只影响之后新建的队列规则,已经存在的网卡队列不会因此重建。

基本信息

参数net.core.default_qdisc
常见取值fq_codel(现代内核默认)/ fq / pfifo_fast / noqueue
生效范围之后新建 qdisc 的网卡与虚拟接口
既有设备需对具体设备执行 tc qdisc replace 才会改变
查看实际值tc qdisc show dev <接口>
搭配关系bbr 拥塞控制常与 fq 搭配使用,但不是强制要求

典型使用场景

  • 降低缓冲膨胀:转发与出口链路上用 fq_codel 类算法抑制排队延迟
  • 启用 bbr:按常见实践把队列规则改为 fq,提供更细的发送节奏控制
  • 延迟敏感服务:出口设备使用主动队列管理,避免大缓冲造成的延迟堆积
  • 排查队列异常:确认目标设备上实际生效的 qdisc 与预期是否一致
  • 容器与虚拟网络:veth 接口的队列规则同样受该默认值影响

查看与调整

查看与调整
sysctl net.core.default_qdisc            # 读当前默认值
tc qdisc show dev eth0                   # 看目标设备实际使用的队列规则
tc -s qdisc show dev eth0                # 带统计信息,观察丢弃与积压
sysctl -w net.core.default_qdisc=fq      # 临时改为 fq
tc qdisc replace dev eth0 root fq        # 对既有设备重建队列规则
tc qdisc show | head -20                 # 概览所有设备的队列规则

落盘与回读

落盘与回读
# /etc/sysctl.d/99-net-tuning.conf
net.core.default_qdisc = fq             # 新建队列规则默认使用 fq
net.ipv4.tcp_congestion_control = bbr    # 常见搭配,按实际链路评估
# 回读命令:sysctl net.core.default_qdisc

常见队列规则对照

取值特点适用场景
fq_codel按流隔离并主动管理队列,抑制缓冲膨胀通用默认,适合多数出口链路
fq提供分片与 pacing 支持,队列管理较简单与 bbr 搭配的常见选择
pfifo_fast按优先级三个队列,无主动管理老内核默认,链路空闲时影响不大
noqueue不排队,直接发送虚拟接口常见,无法在此基础上做排队控制
已有队列规则不会因为改默认值而重建:改完之后要对目标设备单独执行 tc qdisc replace。排障时以 tc qdisc show 显示的实际规则为准,而不是 sysctl 的回读值。
队列规则与拥塞控制是协议栈的两层:前者管发包排队,后者管发送速率。更换队列规则能改善排队延迟,但不会改变拥塞控制算法本身的行为,两者应分开评估。

易错点

  • 只看 sysctl 值不看设备实际规则:既有队列规则不会自动重建,配置与现网状态可能不一致
  • 把队列规则当成拥塞控制:两层机制作用不同,改错了解决不了吞吐或延迟问题
  • 在容器内改默认值:命名空间与权限限制可能让设置无效,需以目标设备显示为准
  • 不等链路数据就全量切换:队列行为改变会影响延迟分布,应先在部分节点验证
  • 对虚拟接口套用物理网卡经验:noqueue 一类规则无法叠加排队控制,需要换思路

数据来源与参考

  • Linux 内核 Documentation/admin-guide/sysctl/net.rst
  • man 8 tc-qdisc
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌