avatar

Linux端手动开启BBR拥塞控制算法

Linux端手动开启BBR拥塞控制算法

Debian 8 / Ubuntu 14 / Ubuntu 16

Ubuntu 16.04 需要更新内核(内核版本4.9 以下)16.04 以上可跳过。

1
2
3
apt install --install-recommends linux-generic-hwe-16.04 -y
update-grub
reboot

开启 BBR

将 BBR 写入内核配置并保存生效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
echo "vm.swappiness = 10" >> /etc/sysctl.conf
echo "vm.vfs_cache_pressure = 50" >> /etc/sysctl.conf
echo "net.core.default_qdisc = fq_codel" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
echo "net.ipv4.tcp_fastopen = 3" >> /etc/sysctl.conf
sysctl -p

#检查生效情况
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

CentOS 7

1
2
3
4
5
6
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

#查看内核是否安装成功
rpm -qa | grep kernel

更新 grub 系统引导文件并重启

1
2
3
4
5
6
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
grub2-set-default 0
#default 0表示第一个内核设置为默认运行, 选择最新内核就对了

reboot
#重启

开启 BBR

1
2
3
4
5
6
7
8
9
10
11
12
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

#保存生效
sysctl -p

#检查生效情况
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

大功告成

如果结果都有 bbr, 则证明你的内核已开启 bbr。看到有 tcp_bbr 模块即说明 BBR 已启动。

文章作者: war
文章链接: https://on99life.org/posts/4d66d23c.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WAR Diary