ubuntu,Debian安装优化bbr的新内核 XanMod Kernel

  • A+
所属分类:VPS

最近使用的rimach上网不理想,晚上上网看视频都不过千,使用的是BBRplus, 在研究 BBRplus 内核的时候发现有个 XanMod 内核,

xanmod是一个为ubuntu或者debian设计的 自定制linux内核版本。

可以把它理解为一个汽车的发动机,这个是加强版的。

针对网络延迟进行了优化,自动开启 BBR TCP 拥塞控制 + CAKE 队列管理算法。

根据 Issue #26 介绍其实 BBRplus 和 BBR 已经没什么区别了,索性就直接安装这个内核。

说白了 bbrplus 就是改了点东西,然后那部分修改在 5.1 内核里合并进去了。
换句话说,5.1 及以上的内核里自带的 bbr 已经包含了所谓的 bbrplus 的修改
那还要 bbrplus 干嘛,直接装新内核用自带的 bbr 就行了
PS:bbr 是一直在修改的,比如说 5.0 内核的 bbr,4.15 内核的 bbr 和 4.9 内核的 bbr 其实都是不一样的。

xanmod 内核的安装可以去它们的官方网站来查询:

https://xanmod.org/

可以看到它们的内核分为以下几个分支,我个人觉得直接上 edge 是没什么问题的。

ubuntu,Debian安装优化bbr的新内核 XanMod Kernel

xanmod 内核的特性很多地方都有,官方也写的有很多,不过大多数还是以下几点:

  • 改善了 CPU 调度能力
  • 改善了 I/O 的调度能力
  • 增加了一些和性能有关的第三方补丁
  • 使用了最新的 GCC 进行编译
  • 使用了最新的 MicroCode

不过根据 Phoronix 的文章来看,性能的提升还算比较明显:

https://www.phoronix.com/scan.php?page=article&item=xanmod-2020-kernel&num=1

安装的方式也比较简单,添加源并且更新安装就行了:

echo 'deb http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list && wget -qO - https://dl.xanmod.org/gpg.key | sudo apt-key add -

然后安装,我个人安装的是最新的 5.8.1 的 edge:

sudo apt update && sudo apt install linux-xanmod-edge

安装完毕后还可以安装最新的微码:

sudo apt update && sudo apt install linux-xanmod

如果是 AMD Yes 的话就安装这个:

sudo apt install amd64-microcode

xanmod 的内核启用了新的 CAKE 调度算法,如果你在意网络性能的话也可以启用:

echo 'net.core.default_qdisc = cake' | sudo tee /etc/sysctl.d/90-override.conf

之后重启就可以了。

开启BBR(fq_pie)

  1. sed -i '/net.ipv4.tcp_ecn/d' /etc/sysctl.d/99-sysctl.conf

  2. sed -i '/net.core.default_qdisc/d' /etc/sysctl.d/99-sysctl.conf

  3. sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.d/99-sysctl.conf

  4. sed -i '/net.ipv4.tcp_ecn/d' /etc/sysctl.conf

  5. sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf

  6. sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf

  7. #上面都是清除旧的配置

  8. echo "net.core.default_qdisc=fq_pie" >> /etc/sysctl.d/99-sysctl.conf

  9. echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.d/99-sysctl.conf

  10. sysctl --system

  11. reboot

 

检查安装

1
2
3
4
5
#查看CAKE是否生效
sysctl net.core.default_qdisc

#查看当前的拥塞控制算法是否为bbr
sysctl net.ipv4.tcp_congestion_control

优化缓冲区

根据这篇文章,更改 tcp_notsent_lowat 为 16384(16K)可以优化 web 速度。

1
2
3
4
5
#添加值
echo "net.ipv4.tcp_notsent_lowat = 16384" >> /etc/sysctl.conf

#查看是否成功
sysctl net.ipv4.tcp_notsent_lowat
ps:手动麻烦,在https://www.vjsun.com/159.html中有一键代码安装。
weinxin
我的QQ群
这是我的QQ群扫一扫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: