手动编译Linux内核开启BBR模块教程

2025.5.31 杂七杂八 1767

手动编译Linux内核开启BBR模块教程

本文详细介绍如何通过手动编译Linux内核开启BBR拥塞控制算法,提升网络传输效率。包含内核配置、模块编译及系统优化全流程,适用于主流Linux发行版。

一、BBR模块简介

BBR(Bottleneck Bandwidth and Round-trip propagation time)是Google开发的TCP拥塞控制算法,通过动态评估网络带宽和延迟显著提升传输性能。Linux内核4.9+版本已内置该模块,但需手动启用。

二、准备工作

1. 环境要求

 检查当前内核版本
uname -r
 安装编译依赖
sudo apt update && sudo apt install -y build-essential libncurses-dev bison flex libssl-dev libelf-dev

2. 下载内核源码

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.93.tar.xz
tar -xvf linux-5.15.93.tar.xz
cd linux-5.15.93

三、内核编译配置

1. 复制现有配置

cp /boot/config-$(uname -r) .config

2. 启用BBR模块

make menuconfig

依次定位到:
Networking support → Networking options → TCP: advanced congestion control
勾选BBR并设置为默认算法

3. 编译参数优化

 根据CPU核心数设置并行编译
make -j$(nproc) bindeb-pkg

四、安装与配置

1. 安装新内核

sudo dpkg -i ../linux-image-.deb
sudo update-grub

2. 启用BBR算法

echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

3. 验证生效

sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

五、性能调优建议

  • 建议搭配fq_codel队列 discipline
  • 高延迟网络可调整net.ipv4.tcp_notsent_lowat参数
  • 云服务器建议关闭ECN功能

常见问题解答

Q: 编译过程报错如何处理?
A: 检查依赖是否完整,建议使用发行版官方源安装开发包
Q: 为什么BBR未生效?
A: 确认内核版本≥4.9,且未启用其他拥塞控制算法

评论