一键启用,让你的 VPS 带宽真正「跑满」
安全 · 通用 · 持久 · 可逆 · 极限性能
快速开始 · 核心功能 · 性能提升 · 使用方法 · 兼容性 · 状态检查 · 卸载 · 优化详情 · 更新日志
这是一个全面的 Linux 服务器网络与系统性能优化脚本。通过智能调优内核参数(TCP/IP 协议栈、内存管理、CPU 调度、硬件中断等),显著提升服务器吞吐量、降低延迟、增强并发能力。
定位:面向 VPS/云主机/物理机的「一键式」系统与网络栈调优,兼顾可逆与幂等,适合持续运行在生产环境。
- 作者:@buyi06
- 版本:v2.0.0 Extreme Edition
- 许可证:MIT License
bash -c "$(curl -fsSL https://raw.githubusercontent.com/buyi06/-Linux-/main/universal_optimize_extreme.sh)"或者使用 wget:
wget -qO- https://raw.githubusercontent.com/buyi06/-Linux-/main/universal_optimize_extreme.sh | sudo bash提示:脚本需要
root或sudo权限执行。
| 分类 | 功能 | 效果 |
|---|---|---|
| 拥塞控制 | BBR + FQ 队列调度 | 提升吞吐量,降低延迟,尤其在丢包网络中效果显著 |
| 连接优化 | TCP 快速打开 (TFO) | 减少连接建立时间,加速短连接 |
| TIME_WAIT 优化 | 快速回收端口,支持高并发服务器 | |
| 缓冲区调优 | 动态内存缓冲区 | 根据系统内存自动调整 TCP/UDP 缓冲区大小 |
| 系统响应 | 内存管理优化 | 优化 swappiness 和 dirty_ratio,优先保障应用性能 |
| 连接跟踪优化 | 大幅增加 nf_conntrack_max,防止高负载下连接被丢弃 | |
| 硬件优化 | IRQ 亲和性 & Offload | 智能绑定网卡中断到指定 CPU,关闭问题 offload |
| 易用性 | 幂等 & 可逆 | 可重复执行,提供完整卸载功能 |
| 广泛兼容 | 支持主流 Linux 发行版和虚拟化平台 |
在标准 2 核 / 4GB 内存 / 1Gbps 带宽 的 Debian 12 VPS 上测试:
| 指标 | 优化前 | 优化后 | 提升幅度 |
|---|---|---|---|
| TCP 吞吐量 | ~650 Mbps | ~920 Mbps | +41% |
| 网络延迟 (RTT) | 45 ms | 38 ms | -16% |
| 连接建立时间 | 3.2 ms | 1.8 ms | -44% |
| 最大并发连接 | ~10,000 | >1,000,000 | +100 倍 |
实际效果因硬件、网络环境和负载类型而异。
| 命令 | 说明 |
|---|---|
sudo bash universal_optimize_extreme.sh |
默认:应用所有优化 |
sudo bash universal_optimize_extreme.sh apply |
应用所有优化 |
sudo bash universal_optimize_extreme.sh status |
显示当前系统配置状态报告 |
sudo bash universal_optimize_extreme.sh repair |
检查并修复缺失的配置 |
sudo bash universal_optimize_extreme.sh uninstall |
完全卸载,恢复系统默认设置 |
sudo bash universal_optimize_extreme.sh help |
显示帮助信息 |
IFACE=ens3 sudo bash universal_optimize_extreme.sh apply| 发行版 | 版本 | 状态 |
|---|---|---|
| Debian | 10 / 11 / 12 | ✅ 完全支持 |
| Ubuntu | 20.04 / 22.04 / 24.04 | ✅ 完全支持 |
| CentOS | 7 / 8 / Stream | ✅ 完全支持 |
| Rocky Linux | 8 / 9 | ✅ 完全支持 |
| AlmaLinux | 8 / 9 | ✅ 完全支持 |
| Arch Linux | Rolling | ✅ 完全支持 |
| openSUSE | 15+ | ✅ 完全支持 |
| Alpine Linux | 3.12+ |
- 最低要求:Linux 4.9+(BBR 支持)
- 推荐版本:Linux 5.4+(更完善的网络栈)
| 平台 | 状态 |
|---|---|
| KVM / QEMU | ✅ 完全支持 |
| VMware | ✅ 完全支持 |
| Xen | ✅ 完全支持 |
| Hyper-V | ✅ 完全支持 |
| OpenVZ | |
| LXC / LXD |
# 查看 BBR 是否启用
sysctl net.ipv4.tcp_congestion_control
# 查看可用的拥塞控制算法
sysctl net.ipv4.tcp_available_congestion_control
# 查看当前队列调度
tc qdisc show
# 查看缓冲区设置
sysctl -a | grep -E 'rmem|wmem'
# 查看健康自检日志
journalctl -u extreme-health -b --no-pager
# 使用脚本查看完整状态
sudo bash universal_optimize_extreme.sh statussudo bash universal_optimize_extreme.sh uninstall手动卸载(展开)
# 停止并禁用服务
sudo systemctl disable --now extreme-offload@*.service
sudo systemctl disable --now extreme-qdisc@*.service
sudo systemctl disable --now extreme-irqpin@*.service
sudo systemctl disable --now extreme-health.service
# 删除配置文件
sudo rm -f /etc/sysctl.d/99-extreme-optimize.conf
sudo rm -f /etc/security/limits.d/99-extreme.conf
sudo rm -f /etc/systemd/system.conf.d/99-extreme-limits.conf
sudo rm -f /etc/systemd/system/extreme-*.service
sudo rm -f /etc/default/extreme-optimize
# 重新加载配置
sudo sysctl --system
sudo systemctl daemon-reload
# 建议重启以完全恢复默认设置
sudo reboot1) BBR 拥塞控制
BBR(Bottleneck Bandwidth and RTT)是 Google 开发的 TCP 拥塞控制算法,通过测量实际带宽和往返时间来调节发送速率,避免传统算法因丢包而过度降速。
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr效果:
- 吞吐量提升 4-14%
- 显著降低延迟
- 更好地处理丢包
2) TCP 快速打开 (TFO)
允许在 TCP 握手的 SYN 包中携带数据,减少一个 RTT:
net.ipv4.tcp_fastopen = 33) 动态缓冲区调整
根据系统内存自动选择最优配置:
| 内存 | rmem_max | wmem_max | tcp_rmem max | 模式 |
|---|---|---|---|---|
| < 2GB | 32 MB | 32 MB | 16 MB | 保守模式 |
| 2-8 GB | 64 MB | 64 MB | 64 MB | 标准模式 |
| > 8GB | 128 MB | 128 MB | 128 MB | 激进模式 |
4) TIME_WAIT 优化
高并发服务器的端口快速回收:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_tw_buckets = 20000005) 连接跟踪优化
支持百万级并发连接:
net.netfilter.nf_conntrack_max = 2097152
net.netfilter.nf_conntrack_tcp_timeout_established = 72006) 内存管理优化
减少交换,优先保障应用性能:
vm.swappiness = 10
vm.dirty_ratio = 40
vm.dirty_background_ratio = 10
vm.vfs_cache_pressure = 507) 网卡 Offload 关闭
关闭可能导致问题的硬件卸载功能:
- GRO / GSO / TSO / LRO
- Scatter-gather
- rx-gro-hw / rx-udp-gro-forwarding
- 各种隧道分段
8) 队列调度优化
使用 BBR 团队推荐的 FQ(Fair Queue)调度器:
tc qdisc add dev eth0 root fq| 路径 | 用途 |
|---|---|
/etc/sysctl.d/99-extreme-optimize.conf |
网络与系统内核参数 |
/etc/security/limits.d/99-extreme.conf |
用户资源限制 |
/etc/systemd/system.conf.d/99-extreme-limits.conf |
systemd 服务限制 |
/etc/systemd/system/extreme-offload@.service |
网卡 Offload 关闭服务 |
/etc/systemd/system/extreme-qdisc@.service |
队列调度配置服务 |
/etc/systemd/system/extreme-irqpin@.service |
IRQ 亲和性绑定服务 |
/etc/systemd/system/extreme-health.service |
开机健康自检服务 |
/etc/default/extreme-optimize |
环境变量配置 |
⚠️ 注意事项(展开)
- 需要 root 权限:脚本需要 root 或 sudo 执行
- BBR 需要内核支持:Linux 4.9+ 内核才支持 BBR
- OpenVZ 限制:OpenVZ 容器无法修改内核参数,仅部分功能可用
- 建议重启:部分优化(如 ulimit)需要重启或重新登录才能完全生效
- 生产环境:建议先在测试环境验证效果
| 原则 | 说明 |
|---|---|
| 安全第一 | 所有操作使用 ` |
| 智能检测 | 自动检测系统内存、BBR 支持、网卡等 |
| 动态调整 | 根据系统资源自动选择最优参数 |
| 跨平台 | 支持主流 Linux 发行版 |
| 幂等性 | 重复执行无副作用 |
| 可逆性 | 提供完整卸载功能 |
| 透明性 | 详细的状态报告和日志 |
- ✅ 新增 BBR 拥塞控制(自动检测并启用)
- ✅ 新增 TCP 快速打开 (TFO)
- ✅ 新增动态缓冲区调整(根据内存自动优化)
- ✅ 新增 TIME_WAIT 优化
- ✅ 新增连接跟踪优化(支持百万级并发)
- ✅ 新增内存管理优化(swappiness / dirty_ratio)
- ✅ 新增队列调度优化(fq)
- ✅ 新增 Ring Buffer 调整
- ✅ 新增完整卸载功能
- ✅ 改进状态报告格式
- ✅ 改进 Debian 兼容性
- 初始版本
- sysctl 网络优化
- ulimit 提升
- 网卡 Offload 关闭
- IRQ 绑定
- 开机自检
🙏 致谢(展开)
感谢以下资源提供的技术参考:
- ESnet Fasterdata - Linux 网络调优指南
- nixCraft - BBR 配置教程
- DigitalOcean - 性能优化教程
- Linux Kernel Documentation - 内核网络文档
- IDC Flare 论坛用户的反馈和建议
本项目采用 MIT License 开源许可证。
如果这个项目对你有帮助,请给个 ⭐ Star 支持一下!