Arch Linux / Manjaro 开启 TCP BBR 完整教程

July 7, 2026
Arch Linux、Manjaro 开启 TCP BBR 的完整教程,包含滚动内核检查、sysctl.d 配置、模块加载、验证和回滚。

Arch Linux / Manjaro 开启 TCP BBR 完整教程

更新日期:2026-07-07

Arch Linux 和 Manjaro 都属于滚动更新生态,内核通常较新,开启 BBR 的关键不是版本太老,而是确认当前正在运行的内核是否包含 tcp_bbr,以及配置是否写入 /etc/sysctl.d/。

检查内核与算法

uname -r
sysctl net.ipv4.tcp_available_congestion_control

如果没有看到 bbr,先更新系统并重启到新内核:

sudo pacman -Syu
sudo reboot

重启后再检查:

uname -r
sysctl net.ipv4.tcp_available_congestion_control

开启 BBR

sudo modprobe tcp_bbr 2>/dev/null || true
echo tcp_bbr | sudo tee /etc/modules-load.d/bbr.conf >/dev/null

sudo tee /etc/sysctl.d/99-bbr.conf >/dev/null <<'EOF'
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF

sudo sysctl --system

验证

sysctl net.core.default_qdisc
sysctl net.ipv4.tcp_congestion_control
tc qdisc show | head
ss -tin state established | grep -m 5 bbr

如果 tc qdisc show 看到 mq,不要急着判定失败。多队列网卡可能显示 mq,default_qdisc 仍然会影响后续子队列和新建队列。

Arch / Manjaro 特别注意

  • Arch Wiki 对 sysctl 的说明是:sysctl 用于运行时检查和修改内核参数,持久化配置应放入 sysctl.d。
  • 如果你使用 linux-lts、linux-zen、自编译内核,务必确认当前运行内核的模块目录里有 tcp_bbr。
  • Manjaro 用户如果长时间没更新,先完成系统更新并重启,不要在旧内核上反复调参数。

检查模块文件:

find /lib/modules/$(uname -r) -name 'tcp_bbr*' 2>/dev/null

回滚

sudo rm -f /etc/sysctl.d/99-bbr.conf /etc/modules-load.d/bbr.conf
sudo sysctl -w net.ipv4.tcp_congestion_control=cubic
sudo sysctl --system

参考资料