ubuntu升级内核及开启BBR TCP拥塞控制

最近了解到了BBR这个东西。BBR是Google开发的一种TCP拥塞控制算法。很多人反映境外的VPS用上BBR之后,速度得到了明显的提升。
如果有兴趣了解一些原理上的东西,可以参考这里:Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势?
从Linux内核4.9起,BBR已经被整合进Linux内核中,所以直接升级内核到4.9以上的版本并开启BBR模块即可。
只有KVM和Xen架构的VPS可以自行升级内核,因为OpenVZ无法进行内核层级的操作。

升级内核

如果VPS使用的时间较长,系统中会有很多旧版的内核。你可以先使用 apt autoremove --purge卸载已经不再需要的内核(和软件包)。

涉及内核的操作容易翻车,动手前请务必做好备份。
首先使用 uname -r确认正在使用的内核版本,我的是 4.4.0-66-generic
在这里:http://kernel.ubuntu.com/~kernel-ppa/mainline/选择一个4.9以上的内核版本,我选择的是4.10.4。
进入相应版本的目录后,下载下面的三个文件:
i386和amd64分别代表34位和64位。一般的机器选择generic即可。

安装内核

更新grub配置并重启

再次使用 uname -a确认正在使用的内核。如果显示的是你安装的内核版本则无误。

开启BBR

这一步我使用sudo依然提示无权限,可能需要切换到root用户来执行。

保存配置

验证BBR生效

执行 sysctl net.ipv4.tcp_available_congestion_control
如果结果中有 bbr, 则证明你的内核已开启 bbr
执行 lsmod | grep bbr, 看到有 tcp_bbr模块即说明 bbr 已启动

完成后可以测试一下速度。我在位于北京的腾讯云服务器上下载位于Vultr东京的服务器上的文件,在使用BBR之前速度为10-20k,使用BBR后几乎可以跑满带宽。
Enjoy.

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

Are you human? Click the Apple...