Debian 9 和 CentOS 7 开启 BBR

Debian 9 和 CentOS 7 开启 BBR

  1. 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则代表开启成功。

  1. 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 表示已经启动