Linux端手动开启BBR拥塞控制算法

2018年12月20日 440 次阅读 0 条评论 1.31k 个文字

Debian 8 / Ubuntu 14 / Ubuntu 16

Ubuntu 16.04 需要更新内核(内核版本4.9 以下)16.04 以上可跳过。

apt install --install-recommends linux-generic-hwe-16.04 -y
update-grub  
reboot

开启 BBR

将 BBR 写入内核配置并保存生效

modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
echo "vm.swappiness = 10" >> /etc/sysctl.conf
echo "vm.vfs_cache_pressure = 50" >> /etc/sysctl.conf
echo "net.core.default_qdisc = fq_codel" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
echo "net.ipv4.tcp_fastopen = 3" >> /etc/sysctl.conf
sysctl -p

#检查生效情况
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

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 -y

#查看内核是否安装成功
rpm -qa | grep kernel

更新 grub 系统引导文件并重启

egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
grub2-set-default 0  
#default 0表示第一个内核设置为默认运行, 选择最新内核就对了

reboot
#重启

开启 BBR

modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

#保存生效
sysctl -p

#检查生效情况
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

 

如果结果都有 bbr, 则证明你的内核已开启 bbr。看到有 tcp_bbr 模块即说明 BBR 已启动。

标签:
© 著作权归作者所有
头像

这个人很懒 只留下了遗憾