Debian/Ubuntu 升级 XanMod 内核教程
XanMod 是针对桌面、多媒体和工作站优化的 Linux 内核,内置 BBRv3 拥塞控制算法,非常适合需要网络性能优化的 VPS。
一、环境检查
1. 检查 CPU 架构支持
# 检查 CPU 支持的指令集级别
awk -f <(wget -qO- https://dl.xanmod.org/check_x86-64_psabi.sh)输出结果:
x86-64-v2:基础支持(2009+ CPU)x86-64-v3:支持 AVX2(2013+ CPU,推荐)x86-64-v4:支持 AVX-512(2017+ 高端 CPU)
# 验证 AVX2 支持(v3 必需)
grep -o 'avx2' /proc/cpuinfo | head -12. 检查虚拟化类型
# 检查 VPS 是否支持自定义内核
systemd-detect-virtkvm:✅ 支持openvz:❌ 不支持lxc:❌ 不支持
二、安装 XanMod 内核
1. 添加 XanMod 仓库
# 创建 sources 文件
echo "deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org $(lsb_release -sc) main" | \
sudo tee /etc/apt/sources.list.d/xanmod-release.list
# 导入 GPG 密钥
wget -qO - https://dl.xanmod.org/archive.key | \
sudo gpg --dearmor -o /usr/share/keyrings/xanmod-archive-keyring.gpgDebian 12+ / Ubuntu 22.04+ 迁移旧格式到新格式(可选):
sudo apt modernize-sources2. 安装内核
# 更新软件源
sudo apt update
# 根据 CPU 支持安装对应版本
sudo apt install linux-xanmod-x64v3 # AVX2 支持
# sudo apt install linux-xanmod-x64v2 # 旧 CPU
# sudo apt install linux-xanmod-x64v4 # AVX-512 支持三、内核管理
1. 查看已安装内核
# 查看所有已安装内核
dpkg --list | grep linux-image
# 查看 GRUB 可启动内核
awk -F\' '/menuentry / {print NR-1, $2}' /boot/grub/grub.cfg | head -52. 设置默认启动内核
# 查看当前默认启动项
grep GRUB_DEFAULT /etc/default/grub
# 永久设置(编辑配置)
sudo nano /etc/default/grub
# 修改:GRUB_DEFAULT=0 # 0 表示第一个内核
# 更新 GRUB
sudo update-grub3. 临时测试新内核
# 仅下次启动使用新内核,之后自动恢复默认
sudo grub-reboot 0
sudo reboot四、重启与验证
1. 重启系统
sudo reboot2. 验证内核版本
# 查看当前内核
uname -r
# 应该看到类似:6.x.x-xanmod13. 验证 BBR 版本
# 查看 BBR 模块信息
modinfo tcp_bbr | grep version
# 输出应该包含:
# version: 34. 启用 BBRv3
# 临时启用
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
sudo sysctl -w net.core.default_qdisc=fq
# 永久启用
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# 验证
sysctl net.ipv4.tcp_congestion_control五、系统清理
1. 清理旧内核
# 自动移除不需要的旧包
sudo apt --purge autoremove
# 清空本地 APT 缓存
sudo apt autoclean2. 手动删除旧内核(可选)
# 列出旧内核
dpkg --list | grep linux-image
# 删除指定版本
sudo apt purge linux-image-x.x.x-xxx六、常见问题
1. 启动失败怎么办?
重启时进入 GRUB 菜单(按 ESC),选择旧内核启动,然后卸载 XanMod:
sudo apt purge linux-xanmod-x64v3
sudo update-grub2. 如何回滚到原内核?
# 查看可用内核
dpkg --list | grep linux-image
# 设置 GRUB 默认启动旧内核
sudo nano /etc/default/grub
# 修改 GRUB_DEFAULT 为旧内核的序号
sudo update-grub
sudo reboot3. OpenVZ 虚拟化不支持
OpenVZ 容器共享宿主机内核,无法更换。建议换用 KVM 虚拟化的 VPS。
七、性能对比
| 项目 | 原版内核 | XanMod + BBRv3 |
|---|---|---|
| TCP 吞吐量 | 基准 | +20-40% |
| 延迟 | 基准 | -10-20% |
| 丢包恢复 | 慢 | 快 |
参考资源
- XanMod 官网:https://xanmod.org
- BBRv3 项目:https://github.com/google/bbr
- CPU 指令集检测:https://dl.xanmod.org/check_x86-64_psabi.sh