Linux 系统启用 BBR 加速指南
BBR(Bottleneck Bandwidth and Round-trip propagation time) 是 Google 开发的一种 TCP 拥塞控制算法,旨在提高网络传输效率,降低延迟,尤其适用于高带宽和高延迟的网络环境。BBR 从 Linux 4.9 内核开始正式集成,能够有效提升网络速度和稳定性
✅ 检查内核版本
BBR 从 Linux 内核 4.9 开始合入主线,首先需要确认当前系统内核版本是否符合要求
uname -r |
示例输出:
6.14.7-arch2-1 |
只要版本号 ≥ 4.9,即可继续下一步,若低于 4.9需先升级内核
接着确认当前系统支持哪些拥塞控制算法
sysctl net.ipv4.tcp_available_congestion_control |
示例输出:
net.ipv4.tcp_available_congestion_control = reno cubic bbr |
确保输出中包含 bbr
💾 开启BBR
编辑配置文件
sudo vim /etc/sysctl.d/99-sysctl.conf |
根据需求添加算法和队列(如需临时启用前面加sudo sysctl -w
执行即可)
net.ipv4.tcp_congestion_control = bbr |
用
zcat /proc/config.gz | grep BBR
查看内核集成的bbr版本 (拥塞控制算法推荐bbr
)
版本 | 内核要求 | 启用名称 | 当前状态 | 说明 |
---|---|---|---|---|
BBR | Linux 4.9+ | bbr |
稳定广泛使用 | 原始版本,适合大多数情况 |
BBR2 | Linux 5.10+ | bbr2 |
稳定可用 | 更好兼容性,改进 RTT 控制 |
BBR3 | Linux 6.8+ | bbr3 |
测试阶段 | 融合 Cubic 行为,适合多场景 |
用
ls /lib/modules/$(uname -r)/kernel/net/sched/
查看系统支持的调度器 (队列调度器推荐fq
)
算法 | 类型 | 主要用途说明 |
---|---|---|
fq | 调度器 | 公平队列,适合 TCP pacing |
fq_codel | 调度器 + AQM | 减缓 bufferbloat,低延迟优先 |
fq_pie | 调度器 + AQM | 类似 fq_codel,适合高 RTT 网络 |
cake | 综合型 qdisc | 多功能(QoS/NAT/分类/延迟控制) |
htb | 分类调度器 | 分级限速(层级形状),常用于 shaping |
netem | 网络模拟器 | 模拟丢包、延迟、乱序等网络特性 |
tbf | 限速器 | 精确带宽限制(令牌桶过滤器) |
其他可选配置
禁用 ping
net.ipv4.icmp_echo_ignore_all = 1 |
启用 IP 转发(如需路由功能)
net.ipv4.ip_forward = 1 |
应用配置
sudo sysctl --system |
🔍 验证启用结果
查看当前使用的拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control |
应输出:
net.ipv4.tcp_congestion_control = bbr |
查看 BBR 模块是否已加载:
lsmod | grep bbr |
输出示例:
tcp_bbr 20480 3 |
查看系统当前网络设备上已配置的队列调度器:
tc qdisc show |