bbr还是要开的

之前试验过开bbr,但是可能以前的网络环境没那么糟糕,所以没有特别明显的差距。

今年由于新型冠状病毒肺炎(COVID-19)疫情,墙又开始大封锁。我把之前的gcp关掉重新开了一台,然后这台是没有开启过bbr的。今天ping值<15ms,无丢包的情况下,看youtube的480p都卡。然后尝试更新了linux内核,打开bbr。结果youtube 1080p丝般顺滑。。。震惊了!居然这么屌的嘛。

检查是否已开启 bbr

(a)  执行如下命令,检查 bbr 是否可用:

sudo sysctl net.ipv4.tcp_available_congestion_control

应该输出类似下面这样的信息(包括bbr,顺序无所谓):

net.ipv4.tcp_available_congestion_control = bbr cubic reno

(b) 执行如下命令:

sudo sysctl -n net.ipv4.tcp_congestion_control

其输出应该是:

bbr

(c) 执行如下命令:

lsmod | grep bbr

其输出应该类似于:

tcp_bbr        20480    14

注意内核版本

有一次我发现我的内核版本莫名地被降级回 3.10,这就没有 bbr 了,因为 bbr 要求内核版本必须是 4.9 以上。可能是我做了 yum install/update 导致? 或者是我之前没有设置默认启动内核?我也不记得了。

检查当前内核

uname -r

检查默认启动的内核

grub2-editenv list

检查已安装的内核

rpm -qa |grep kernel

设置默认启动的内核

(a) 列出 grub2 的启动项

sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

输出应该类似如下信息:

CentOS Linux 7 Rescue a0cbf86a6ef1416a8812657bb4f2b860 (4.9.0-1.el7.elrepo.x86_64)
CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-bf94f46c6bd04792a6a42c91bae645f7) 7 (Core)

(b) 设置启动项(上面的启动项列表从 0 开始编号)

sudo grub2-set-default 1

或者 sudo grub2-set-default 'CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)'

删除不用的内核

一个个删除:yum remove kernel-3.10.0-514.26.2.el7.x86_64 kernel-3.10.0-514.el7.x86_64

或者除了当前内核其他全部删除:yum remove $(rpm -qa | grep kernel | grep -v $(uname -r))

 

 

 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top