一、检测 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]:~# reboot |
系统启动完之后登陆,然后输入:
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!