步驟 一 :升級內核
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/