升级Ubuntu内核开启BBR加速

BBR是啥,有什么用我不知道,我只知道谷歌出品,必属精品;星宿老仙,法力无边。linux内核版本要高于4.9,才支持BBR,所以今天讲一讲Ubuntu内核版本的升级操作。

首先查看当前内核版本:

root@HuangQiDi:~# uname -r
4.4.0-83-generic

得到两个信息,版本号4.4明显不够,还有后面一个generic,下文要用到。顺便看一下系统位数:

root@HuangQiDi:~# arch
x86_64

升级Ubuntu内核

Ubuntu的最新内核可以在http://kernel.ubuntu.com/~kernel-ppa/mainline/ 找到,打开网页后,按End键,跳到最下面,找一个版本最大,不带rc字样的链接点击进去,

这里我们选择4.12.4,点击进去后,一大堆内核的链接,我们下载哪一个呢?文本开始,我们通过uname -r拿到一个generic,通过arch确定系统为64位,现在这两个东西就有用了,此时我们在浏览器窗口按下F3执行搜索,由于这个搜索框不支持正则,我们只能搜amd64字样,然后目测generic,这里顺便说一句,为什么64位架构要叫amd64呢,虽然现在amd被牙膏厂吊打,但世界上第一枚64位的处理器确是AMD发布的。

下载内核:

root@HuangQiDi:~# wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.4/linux-image-4.12.4-041204-generic_4.12.4-041204.201707271932_amd64.deb

安装内核:

root@HuangQiDi:~# dpkg -i linux-image-4.12.4-041204-generic_4.12.4-041204.201707271932_amd64.deb 

最后,执行命令update-grub,更新grub引导使用新的内核。

root@HuangQiDi:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.12.4-041204-generic
Found initrd image: /boot/initrd.img-4.12.4-041204-generic
Found linux image: /boot/vmlinuz-4.4.0-83-generic
Found initrd image: /boot/initrd.img-4.4.0-83-generic
done

这里很多有洁癖的人喜欢删除旧内核,我特别不建议这么做,一个内核才多大啊,万一新内核无法正常启动,那不是自找麻烦吗。
重启系统后检查内核是否成功升级:

root@HuangQiDi:~# uname -r
4.12.4-041204-generic

启用BBR

root@HuangQiDi:~# echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
root@HuangQiDi:~# echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
root@HuangQiDi:~# sysctl -p
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

net.core.default_qdisc的值真有意思fq,番茄番茄。
此时执行sysctl net.ipv4.tcp_available_congestion_control,若返回结果为“net.ipv4.tcp_available_congestion_control = bbr cubic reno”,表示BBR模块开启成功。

最后来稍微看下这个BBR模块

root@HuangQiDi:~# lsmod | sed -n '1p;/bbr/p'
Module                  Size  Used by
tcp_bbr                20480  0

Used by下面的0,表示该模块可以随时卸载。卸载命令为modprobe -r tcp_bbr

查看模块详细信息:

root@HuangQiDi:~# modinfo tcp_bbr
filename:       /lib/modules/4.12.4-041204-generic/kernel/net/ipv4/tcp_bbr.ko
description:    TCP BBR (Bottleneck Bandwidth and RTT)
license:        Dual BSD/GPL
author:         Soheil Hassas Yeganeh 
author:         Yuchung Cheng <ycheng@google.com>
author:         Neal Cardwell 
author:         Van Jacobson 
srcversion:     3D237D080AC188DD9000A9A
depends:        
intree:         Y
vermagic:       4.12.4-041204-generic SMP mod_unload
标签:Ubuntu 发布于:2019-11-15 08:30:46