Linux kernel 4.9及以上开启TCP BBR拥塞算法

Posted luanlengli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux kernel 4.9及以上开启TCP BBR拥塞算法相关的知识,希望对你有一定的参考价值。

Linux kernel 4.9及以上开启TCP BBR拥塞算法

BBR 目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 效果并不比速锐差

Linux kernel 4.9+ 已支持 tcp_bbr 下面简单讲述基于KVM架构VPS如何开启

安装Linux kernel 4.9以上的版本

  一般安装最新版本内核

Debian 8+ / Ubuntu 14.04

  • 下载最新内核
# wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.14.12/linux-image-4.14.12-041412-generic_4.14.12-041412.201801051649_amd64.deb
  • 安装内核
# dpkg -i linux-image-4.*.deb
  • 删除旧版内核(可选)
# dpkg -l | grep linux-image 
# apt-get purge 旧内核
  • 更新grub并重启服务器
# update-grub
# reboot

Ubuntu16.04

  • 安装 Hardware Enablement Stack (HWE),自动更新内核
# apt install --install-recommends linux-generic-hwe-16.04
  • 删除旧版内核(可选)
# apt autoremove
  • 重启服务器以启用最新内核
# reboot

CentOS6.x

  • 启用elrepo源并安装kernel-ml
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
# yum --enablerepo=elrepo-kernel install kernel-ml -y
  • 检查内核是否已经安装
# rpm -qa | grep kernel
  • 更新grub并重启服务器
# sed -i s:default=.*:default=0:g /etc/grub.conf
# reboot

CentOS7.x

  • 启用elrepo源并安装kernel-ml
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# yum --enablerepo=elrepo-kernel install kernel-ml -y
  • 检查内核是否已经安装
# rpm -qa | grep kernel
  • 更新grub2.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfg
  • 重启服务器
# reboot

 

检查内核版本

通过uname -r命令检查内核版本是否大于4.9

# uname -r

启用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
  • 检查BBR是否已经开启
# lsmod | grep bbr
# sysctl net.ipv4.tcp_available_congestion_control
# sysctl net.ipv4.tcp_congestion_control

如结果都有bbr,则表示已经开启BBR算法


以上是关于Linux kernel 4.9及以上开启TCP BBR拥塞算法的主要内容,如果未能解决你的问题,请参考以下文章

centos6.4内核升级到4.9版本

Linux内核开启DebugFS以及查看debug信息(/sys/kernel/debug及debugfs)

Linux内核开启DebugFS以及查看debug信息(/sys/kernel/debug及debugfs)

Linux Kernel TCP/IP Stack — 网卡监控

Linux -- Apache 的访问及控制

Linux打开TCP BBR拥塞控制算法