步骤 一 :升级内核
CentOS 7更换内核代码如下:
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
CentOS 6更换内核代码如下:
rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
更新内核之前,先安装 ELRepo 仓库(如果系统已存在,可忽略此步骤):
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
安装4.13.0内核 :
yum --enablerepo=elrepo-kernel install kernel-ml -y
检查内核是否更新:
rpm -qa | grep kernel
显示groub2所有条目:
sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
由于行计数开始于0
,且最新内核条目位于第一行,因此将默认引导条目应设置为0
:
sudo grub2-set-default 0
重启服务器:
shutdown -r now
再次查看内核是否生效:
uname -r
步骤 二:启用BBR
启用 BBR 算法之前,需要修改sysctl
配置,分别执行以下三条命令:
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sysctl -p
检查BBR是否成功:
sysctl net.ipv4.tcp_available_congestion_control:
执行命令继续验证是否返回bbr:
sysctl -n net.ipv4.tcp_congestion_control
检查内核模块是否已加载bbr:
lsmod | grep bbr
步骤 三:关闭BBR
使用root用户登录,运行以下命令:
vim /etc/sysctl.conf
删除或注释掉其中的两行:
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
执行命令:
sysctl -p
最后重启服务器生效!
借鉴文章:
文章一:https://tech.jandou.com/CentOS7-Google-BBR.html
文章二:http://vultr.aicnm.com/CentOS%E5%AE%89%E8%A3%85Google-BBR%E5%8A%A0%E9%80%9F%E5%B7%A5%E5%85%B7%E5%9B%BE%E6%96%87%E6%95%99%E7%A8%8B/