直接切换TCP拥塞控制算法为BBR需同时设置net.ipv4.tcp_congestion_control=bbr和net.core.default_qdisc=fq,内核版本须≥4.9;临时生效用sysctl -w命令,永久生效写入/etc/sysctl.conf并执行sysctl -p;验证需检查算法、可用算法列表、队列规则及活跃连接是否显示bbr或pacing。

直接切换 TCP 拥塞控制算法为 BBR,核心就是用 sysctl 设置两个关键参数:拥塞控制算法本身(net.ipv4.tcp_congestion_control)和配套的队列调度器(net.core.default_qdisc)。缺一不可,否则 BBR 无法正常工作。
确认前提:内核版本 ≥ 4.9
BBR 自 Linux 4.9 起原生集成。执行:
uname -r
若输出如 5.15.0-107-generic 或 6.1.0-22-amd64,说明满足要求。低于 4.9(如 4.4、3.10)必须先升级内核。
临时切换(重启即失效,适合快速验证)
运行以下两条命令:
sudo sysctl -w net.core.default_qdisc=fqsudo sysctl -w net.ipv4.tcp_congestion_control=bbr
FQ(Fair Queueing)是 BBR 必需的底层队列规则,它提供每流独立 pacing 能力;没有它,BBR 会退化为类似 CUBIC 的行为。
永久生效(写入配置文件)
将配置持久化到 /etc/sysctl.conf:
echo "net.core.default_qdisc = fq" | sudo tee -a /etc/sysctl.confecho "net.ipv4.tcp_congestion_control = bbr" | sudo tee -a /etc/sysctl.conf
然后加载全部新配置:
sudo sysctl -p
验证是否成功启用
分三步检查:
- 查当前算法:
sysctl net.ipv4.tcp_congestion_control→ 应返回bbr - 查可用算法:
sysctl net.ipv4.tcp_available_congestion_control→ 输出中应含bbr - 查队列规则:
tc qdisc show dev $(ip -o route get 1.1.1.1 | awk '{print $5}') 2>/dev/null | head -1或直接tc qdisc show→ 主网卡下应显示fq
还可对活跃连接进一步确认:ss -i | grep -i 'bbr\|pacing',若看到 bbr 或 pacing 字样,说明该连接已在使用 BBR。


















