Ubuntu开启BBR拥塞控制


2016年9月,Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法。该算法对于网络较为拥堵时有比较显著的提速作用。

注意:不支持OpenVZ架构

Ubuntu18.04/18.10已内置BBR,但并不默认启用,进行以下设置即可。Ubuntu16.04需要更换内核,详情见下文。

修改系统变量

sudo echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
sudo echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

保存生效

sudo sysctl -p

查看内核是否已开启BBR

sysctl net.ipv4.tcp_available_congestion_control

显示以下即已开启:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

检查BBR是否启动

lsmod | grep bbr

显示以下即启动成功:

tcp_bbr                20480  14

以上为Ubuntu18.04/18.10启用BBR的说明,Ubuntu16.04因为内核版本较低无法启用BBR,可以通过安装HWE来更换为更高版本的内核。

为Ubuntu 16.04安装4.10以上版本的新内核

HWE,即:HareWare Enablement,是专门为在老的系统上支持新的硬件而推出的内核。可以像安装其他软件包一样在 Ubuntu 16.04 里非常容易的安装它:

sudo apt-get update && apt-get install linux-generic-hwe-16.04 -y

安装完毕后reboot重启。重启后输入以下命令检查内核是否已安装成功。

uname -a

为Ubuntu 16.04启用BBR

为新内核装载 BBR 模块

sudo modprobe tcp_bbr
sudo echo "tcp_bbr" >> /etc/modules-load.d/modules.conf

查看内核是否已开启BBR

sysctl net.ipv4.tcp_available_congestion_control

显示以下即已开启:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

修改系统变量

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

BBR是否已经启用

sysctl net.ipv4.tcp_congestion_control

显示以下即已启用:

net.ipv4.tcp_congestion_control = bbr

检查BBR是否启动

再检查一下BBR进程是否启动

lsmod | grep bbr

显示以下即启动成功:

tcp_bbr                20480  14
点赞
  1. Geemon说道:
    Google Chrome Windows 10

    不懂 :yinxian:

    1. Hanada说道:
      Google Chrome Windows 10

      :yinxian:

发表评论

电子邮件地址不会被公开。必填项已用 * 标注