Debian 9 和 CentOS 7 开启 BBR
- Debian 9 开启BBR
由于Debian 9默认的内核版本就是4.9.x,不需要像别的系统需要更换内核,直接就能开启BBR算法。
只需要执行三行代码就能开启BBR:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
验证一下,BBR是否正确开启:
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果输出的结果中,都有BBR则代表开启成功。
- CentOS7 开启BBR
查看CentOS版本
cat /etc/redhat-release
查看内核版本
cat /proc/version
在 CentOS 7 上安装新内核
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
查看当前已经安装的内核:
awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
返回类似以下结果:
0 : CentOS Linux (4.10.2-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-514.10.2.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-514.6.1.el7.x86_64) 7 (Core)
...
设置默认内核为 最新,比如上面的4.10.2-1.el7.elrepo.x86_64 ,并重启
grub2-set-default 0
reboot
如果用的是 Google Cloud Platform 的话,系统会变为 Read-only,执行下 mount -o remount rw / 就可以了
重启后,编辑 /etc/sysctl.conf,加入或修改下面两行
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
保存后运行 sysctl -p
运行 lsmod | grep tcp_bbr 看 BBR 是否已经正常启动,若显示 tcp_bbr 表示已经启动