Ubuntu16.04系统快速度开启BBR模块功能

一、检测 BBR 是否开启:

[email protected]:~# sysctl net.ipv4.tcp_available_congestion_control

若返回的是如下值说明你的系统没有开启BBR:

net.ipv4.tcp_available_congestion_control = cubic reno

执行以下命令查看当前系统使用的控制算法:

1
[email protected]:~# sysctl net.ipv4.tcp_congestion_control

返回的结果是:

net.ipv4.tcp_congestion_control = cubic

说明你的系统默认使用的是cubic算法。

二、为Ubuntu 16.04安装4.10 + (截止20181129日,目前内核是4.15.xx)新内核

和之前的ubuntu 14.04下安装4.10内核不同,在ubuntu 16.04系统下不需要自己下载源代码编译,只需执行一条安装命令即可:

1
[email protected]:~# apt-get install linux-generic-hwe-16.04

只要这样,就 OK 了…是不是超简单?因为HWE,即:HareWare Enablement,是专门为在老的系统上支持新的硬件而推出的内核。你可以像安装其他软件包一样在 Ubuntu 16.04 里非常容易的安装它。

另外,还有一个技巧:假如你想使用更激进的新内核,可以使用edge版本:

1
[email protected]:~# apt-get install linux-generic-hwe-16.04-edge

这两个软件包不同的是,hwe安装的是4.10内核,edge安装的是4.11求。

安装好以后重启电脑:

系统启动完之后登陆,然后输入:

1
[email protected]:~# uname -a

看看是不是变成 4.10 (4.15.xx)内核了?

Linux www.itkylin.com 4.15.0-39-generic #42~16.04.1-Ubuntu

三、为Ubuntu 16.04装载BBR模块

1
2
3
[email protected]:~# modprobe tcp_bbr
 
[email protected]:~# echo "tcp_bbr" | sudo tee -a /etc/modules-load.d/modules.conf

加载后tcp_bbr模块后,再执行如下命令检测BBR是否开启:

1
[email protected]:~# sysctl net.ipv4.tcp_available_congestion_control

结果返回如下说明已支持bbr了:

net.ipv4.tcp_available_congestion_control = cubic reno bbr

接下来我们还要执行以下命令正式启用它:

1
2
3
4
5
[email protected]:~# echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
 
[email protected]:~# echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
 
[email protected]:~# sysctl -p

这时再用sysctl net.ipv4.tcp_congestion_control命令看到返回结果是:

net.ipv4.tcp_congestion_control = bbr

说明系统默认的控制算法就是bbr了。

End!