Amazon Linux 2023 / Oracle Linux 开启 TCP BBR 完整教程
更新日期:2026-07-07
Amazon Linux 2023 和 Oracle Linux 常见于云服务器。它们的 BBR 开启方式与 RHEL 系类似,但需要注意云厂商内核、Oracle UEK、镜像安全策略和实例类型差异。
先确认系统和内核
cat /etc/os-release
uname -r
sysctl net.ipv4.tcp_available_congestion_control
如果可用算法里有 bbr,可以继续配置。看不到时,先检查是否使用云厂商支持的当前内核。
Amazon Linux 2023 开启 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
Oracle Linux 开启 BBR
Oracle 官方文档建议在 /etc/sysctl.d 目录创建配置文件来持久化内核参数。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
ss -tin state established | grep -m 5 bbr
云服务器注意事项
- AWS EC2 上,BBR 对跨区域下载、API 响应、对象分发和代理场景更容易体现收益。
- Oracle Cloud 上,如果使用 Oracle UEK,先确认当前内核的 tcp_bbr 模块是否存在。
- 不要在生产机器上随意替换第三方内核。优先使用 Amazon Linux、Oracle Linux 官方维护的内核。
- 如果你使用容器,容器内 sysctl 可能受宿主机和运行时限制。
检查模块:
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
参考资料
- Amazon Linux 2023 user guide: https://docs.aws.amazon.com/linux/al2023/ug/
- Oracle Linux sysctl guide: https://docs.oracle.com/en-us/iaas/oracle-linux/oci/manage-kernels-params-sysctl.htm
- Oracle Linux configurable kernel parameters: https://docs.oracle.com/en/operating-systems/oracle-linux/8/boot/boot-list_all_configurable_kernel_parameters_and_values.html
- Linux sysctl.d manual: https://man7.org/linux/man-pages/man5/sysctl.d.5.html
- Google BBR project: https://github.com/google/bbr