XanMod内核优点(详见附录1):
1、支持tcp_bbr v3(GG发布的拥塞算法)
2、支持tcp_brutal(对抗丢包保带宽不做拥塞控制的拥塞算法)
3、支持tcp_collapse_max_bytes(CF发布的实现高吞吐低延迟的算法)
说明:
1、此内核当前只有6.12、6.16两个版本。
2、此内核仅支持Debian和Ubuntu系列,不支持RH系列。
3、本文以Debian12为例,Debian13目前尚不清楚能不能成功。
.
效果评估
#某VPS安装前的ping
64 bytes from 154.x.x.x: icmp_seq=99 ttl=50 time=318 ms
#安装后的ping
64 bytes from 154.x.x.x: icmp_seq=99 ttl=50 time=236 ms
.
开始安装
#看看当前内核,留作纪念uname -a
Linux blog-linuxab-com 6.10.10 #1 SMP Fri Sep 13 07:48:57 CST 2024 x86_64 GNU/Linux
#开始吧apt install gpg -y
wget -qO - https://dl.XanMod.org/archive.key | sudo gpg --dearmor -vo /etc/apt/keyrings/xanmod-archive-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org releases main' | tee /etc/apt/sources.list.d/xanmod-release.list
apt update
#检测本机可安装的版本
#输出:CPU supports x86-64-v4或v3,表示可以安装最新的xanmod-v3版本wget https://dl.xanmod.org/check_x86-64_psabi.sh && chmod +x check_x86-64_psabi.sh && ./check_x86-64_psabi.sh
#安装xanmod内核(具体版本号详见附录2)apt install linux-xanmod-x64v3
#安装过程出现如下错误,不用管先重起
Building module:
Cleaning build area…
make -j2 KERNELRELEASE=6.16.8-x64v3-xanmod1 KERNEL_DIR=/lib/modules/6.16.8-x64v3-xanmod1/build all CC=clang LD=ld.lld…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.16.8-x64v3-xanmod1 (x86_64)
Consult /var/lib/dkms/tcp-brutal/1.0.3/build/make.log for more information.
Error! One or more modules failed to install during autoinstall.
dpkg: error processing package linux-xanmod-x64v3 (–configure):
dependency problems – leaving unconfigured
Setting up linux-headers-6.16.8-x64v3-xanmod1 (6.16.8-x64v3-xanmod1-0~20250919.g84e8197) …
Errors were encountered while processing:
linux-image-6.16.8-x64v3-xanmod1
linux-xanmod-x64v3
E: Sub-process /usr/bin/dpkg returned an error code (1)
reboot
#重起后,查看内核已经变成xanmod了uname -a
Linux HK15-D 6.16.8-x64v3-xanmod1 #0~20250919.g84e8197 SMP PREEMPT_DYNAMIC Fri Sep 19 17:20:06 UTC x86_64 GNU/Linux
#继续,打下面的命令来修复错误,即安装拥塞算法模块,不再次出错则表示安装成功apt install --no-install-recommends dkms libdw-dev clang lld llvmreboot #安装完记得再次重起,让模块生效
.
确认拥塞算法模块安装成功
modinfo tcp_bbr
name: tcp_bbr
filename: (builtin)
author: Van Jacobson vanj@google.com
author: Neal Cardwell ncardwell@google.com
author: Yuchung Cheng ycheng@google.com
author: Soheil Hassas Yeganeh soheil@google.com
author: Priyaranjan Jha priyarjha@google.com
author: Yousuk Seung ysseung@google.com
author: Kevin Yang yyd@google.com
author: Arjun Roy arjunroy@google.com
author: David Morley morleyd@google.com
file: net/ipv4/tcp_bbr
license: Dual BSD/GPL
description: TCP BBR (Bottleneck Bandwidth and RTT)
version: 3
–
modinfo brutal
filename: /lib/modules/6.16.8-x64v3-xanmod1/updates/dkms/brutal.ko
author: Aperture Internet Laboratory
license: GPL
description: TCP Brutal
version: 1.0.2
name: brutal
depends:
srcversion: 73251705C4C828ACBF07FDD
vermagic: 6.16.8-x64v3-xanmod1 SMP preempt mod_unload
retpoline: Y
sig_id: PKCS#7
signer: DKMS module signing key
sig_key: 7A:41:C4:4B:2D:8E:74:CA:2E:EF:24:3B:D1:F4:B0:ED:23:CC:7B:32
sig_hashalgo: sha512
signature: D7:2D:22:D5:F2:87:97:6E:23:4E:AA:44:A6:9A:5A:80:F9:11:A0:E4:
.
启用BBR加速
vim /etc/sysctl.conf
net.ipv4.tcp_congestion_control=bbr
.
启用BBR3加速
cat > /etc/sysctl.d/bbr3.conf << EOF
net.core.default_qdisc=fq_pie
net.ipv4.tcp_congestion_control=bbr
net.ipv4.icmp_echo_ignore_all=1
EOF
.
优化设置
使用下面这个基于xanmod 内核的一键脚本进行优化(已包含下面的内核配置优化):
wget https://raw.githubusercontent.com/honorcnboy/BlogDatas/main/VpsScript/Optimization-v2.sh && chmod +x ./Optimization-v2.sh && sudo bash ./Optimization-v2.sh
.
使用场景?
自己看着办吧,我也不清楚…
.
.
附录1:完整的XanMod内核特点
- 核心和进程调度、负载均衡、缓存、虚拟内存管理器和 CPUFreq 调节器的优化:这些优化旨在提升 Linux 系统的性能,确保系统资源被高效利用,让使用体验更加流畅和响应迅速。
- 针对高 I/O 吞吐量的完整多核块层运行队列请求:该功能旨在提高 Linux 系统在处理大量 I/O 操作时的性能,确保系统可以处理大量数据而不会变慢。
- 可用的实时 Linux 内核(PREEMPT_RT)构建:该功能专为关键运行时应用程序设计,如 Linux 游戏服务器/客户端、电子竞技、流媒体、直播制作和超低延需求迟用户。确保系统可以在无延迟的情况下处理实时任务。
- 可用的第三方补丁集:包括来自各种来源的补丁,为内核提供额外的功能和改进。这些补丁可以进一步提升系统的性能和功能。
- AMD Zen 处理器的 P-state CPPC 驱动程序:该驱动程序旨在提升 AMD 处理器的性能,确保 AMD 处理器能够发挥最佳性能。
- Intel 处理器的 SMT 任务迁移调度程序重构:该功能旨在提高 Intel 处理器的性能,确保 Intel 处理器能够发挥最佳性能。
- 针对 Wine 和 Proton 的 Futex waitv 和传统的 WAIT_MULTIPLE 实现以支持 Fsync:此功能旨在提升 Wine 和 Proton 的性能,这两款应用程序可以在 Linux 上运行 Windows 应用程序。确保 Windows 应用程序在 Linux 系统上顺畅运行。
- Cloudflare 的 TCP 折叠处理以实现高吞吐量和低延迟:此功能旨在提升网络性能,确保系统可以处理大量的网络流量而不会变慢。
- Google 的多代 LRU 框架:此功能旨在改善内存管理,确保系统可以处理大量的内存而不会变慢。
- Google 的 BBRv2 TCP 拥塞控制:此功能旨在提升网络性能,确保系统可以处理大量的网络流量而不会变慢。
- Netfilter nf_tables RFC3489 全锥形 NAT 支持:此功能旨在提升网络性能,确保系统可以处理大量的网络流量而不会变慢。
- Netfilter FLOWOFFLOAD 目标以加速数据包处理:此功能旨在提升网络性能,确保系统可以处理大量的网络流量而不会变慢。
- 用于 Wine 快速内核支持的 WineSync 驱动程序:此功能旨在提升 Wine 的性能,用于在 Linux 上运行 Windows 应用程序。确保 Windows 应用程序在 Linux 系统上顺畅运行。
- PCIe ACS Override 用于绕过 IOMMU 组支持:此功能旨在提升 PCIe 设备的性能,确保 PCIe 设备能够发挥最佳性能。
- Graysky 的额外 GCC 和 Clang CPU 选项:这些选项旨在提升 Linux 系统的性能,确保系统能够发挥最佳性能。
- Clear Linux 补丁集:包括来自 Clear Linux 项目的补丁,为内核提供额外的功能和改进。这些补丁可以进一步提升系统的性能和功能。
- 适用于 Anbox 的 Android Binder IPC 驱动程序:该驱动程序旨在提升 Anbox 的性能,Anbox 用于在 Linux 上运行 Android 应用程序。确保 Android 应用程序在 Linux 系统上顺畅运行。
.
附录2: XanMod可用版本
XanMod MAIN 内核
MAIN 内核是标准的 XanMod,包括最新稳定版本的 Linux 内核,并针对桌面、多媒体和游戏工作负载进行了优化。MAIN 内核有四个版本可供选择:
- linux-xanmod-x64v1
- linux-xanmod-x64v2
- linux-xanmod-x64v3
- linux-xanmod-x64v4
XanMod EDGE 内核
EDGE 内核专为想要最新功能和增强的用户而设计,它们包括最近版本的 Linux 内核,并针对高性能工作负载进行了优化。EDGE 内核有三个版本可供选择:
- linux-xanmod-edge-x64v2
- linux-xanmod-edge-x64v3
- linux-xanmod-edge-x64v4
XanMod LTS 内核
LTS(长期支持)内核是为将稳定性和可靠性放在优先考虑的用户而设计,它们包括较旧但经过更多测试的 Linux 内核版本,并针对通用工作负载进行了优化。LTS 内核有四个版本可供选择:
- linux-xanmod-lts-x64v1
- linux-xanmod-lts-x64v2
- linux-xanmod-lts-x64v3
- linux-xanmod-lts-x64v4
XanMod RT 内核
RT(实时)内核是为关键应用场景设计的,例如 Linux 游戏服务器、流媒体、直播制作和超低延迟需求的用户,它们包括 PREEMPT_RT 实时补丁,可降低系统的延迟并提高响应性。RT 内核有三个版本可供选择:
- linux-xanmod-rt-x64v2
- linux-xanmod-rt-x64v3
- linux-xanmod-rt-x64v4
.
.