optimize_extreme

Linux Extreme Optimize BBR Enabled TFO Enabled Version 2.0.1 License MIT

🔥 Linux 极限网络优化脚本

一键启用,让你的 VPS 带宽真正「跑满」
安全 · 通用 · 持久 · 可逆 · 极限性能

快速开始 · 核心功能 · 性能提升 · 使用方法 · 兼容性 · 状态检查 · 卸载 · 优化详情 · 更新日志


📖 项目简介

这是一个全面的 Linux 服务器网络与系统性能优化脚本。通过智能调优内核参数(TCP/IP 协议栈、内存管理、CPU 调度、硬件中断等),显著提升服务器吞吐量、降低延迟、增强并发能力

定位:面向 VPS/云主机/物理机的「一键式」系统与网络栈调优,兼顾可逆与幂等,适合持续运行在生产环境。


⚡ 快速开始

一键安装(推荐:pin 到已发布 tag 并校验 sha256)

# 1) 下载(固定 tag,而非 main,避免未来被篡改影响历史安装)
curl -fsSLO https://raw.githubusercontent.com/buyi06/-Linux-/v2.0.1/universal_optimize_extreme.sh

# 2) 校验 sha256(请替换为 Releases 页面公布的值)
echo "<发布页公布的 sha256>  universal_optimize_extreme.sh" | sha256sum -c -

# 3) 执行
sudo bash universal_optimize_extreme.sh

快捷方式(不做校验,仅测试环境使用)

bash -c "$(curl -fsSL https://raw.githubusercontent.com/buyi06/-Linux-/v2.0.1/universal_optimize_extreme.sh)"

⚠️ 安全提示curl | bash 直连 main 分支(即上游任意新 commit)在生产环境是反模式。本项目推荐 pin 到 tag 并校验 sha256。 权限提示:脚本需要 rootsudo 执行。 预演:首次使用可加 --dry-run 查看将要写入的内容而不改动系统。


✨ 核心功能

分类 功能 效果
拥塞控制 BBR + FQ 队列调度 提升吞吐量,降低延迟,尤其在丢包网络中效果显著
连接优化 TCP 快速打开 (TFO) 减少连接建立时间,加速短连接
  TIME_WAIT 优化 快速回收端口,支持高并发服务器
缓冲区调优 动态内存缓冲区 根据系统内存自动调整 TCP/UDP 缓冲区大小
系统响应 内存管理优化 优化 swappiness 和 dirty_ratio,优先保障应用性能
  连接跟踪优化 大幅增加 nf_conntrack_max,防止高负载下连接被丢弃
硬件优化 IRQ 亲和性 & Offload 智能绑定网卡中断到指定 CPU,关闭问题 offload
易用性 幂等 & 可逆 可重复执行,提供完整卸载功能
  广泛兼容 支持主流 Linux 发行版和虚拟化平台

📈 性能提升

⚠️ 免责声明:下列数字来自作者单机测试,仅为示意值,不构成任何性能承诺。实际效果强烈依赖硬件、网卡驱动、对端链路、拥塞状态、流量模型等因素,个别场景可能出现负优化。请在生产环境启用前先在测试机验证,并结合 iperf3 / wrk / sockperf 等工具建立你自己的基线。

测试环境:2 核 / 4GB 内存 / 1Gbps 带宽 / Debian 12 VPS(作者单次测试)

指标 优化前 优化后 变化
TCP 吞吐量 ~650 Mbps ~920 Mbps
网络延迟 (RTT) 45 ms 38 ms
连接建立时间 3.2 ms 1.8 ms
最大并发连接 ~10,000 >1,000,000

🧰 使用方法

命令参考

命令 说明
sudo bash universal_optimize_extreme.sh 默认:应用所有优化
sudo bash universal_optimize_extreme.sh apply 应用所有优化
sudo bash universal_optimize_extreme.sh apply --dry-run 预演,不改动系统
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 自动探测 手动指定网卡
EXTREME_TFO 1 TCP Fast Open:0 关闭 / 1 仅客户端 / 3 服务端+客户端(对老中间盒兼容性差,按需启用)
EXTREME_ECN 2 显式拥塞通知:0 关闭 / 1 主动 / 2 被动(推荐,避免部分老防火墙丢包)

指定网卡

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+ ⚠️ 部分支持(无 systemd)

内核要求

虚拟化平台

平台 状态
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 status

🗑️ 完全卸载

使用脚本卸载(推荐)

sudo bash universal_optimize_extreme.sh uninstall
手动卸载(展开) ```bash # 停止并禁用服务 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 reboot ```

🔧 优化详情

1) BBR 拥塞控制 BBR(Bottleneck Bandwidth and RTT)是 Google 开发的 TCP 拥塞控制算法,通过测量实际带宽和往返时间来调节发送速率,避免传统算法因丢包而过度降速。 ```ini net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr ``` **效果**: - 吞吐量提升 4-14% - 显著降低延迟 - 更好地处理丢包
2) TCP 快速打开 (TFO) 允许在 TCP 握手的 SYN 包中携带数据,减少一个 RTT。**默认仅启用客户端方向(`=1`)**,因为服务端方向(`=3`)在部分运营商/CDN 中间盒中存在兼容性问题。如需服务端启用,请显式 `EXTREME_TFO=3`。 ```ini net.ipv4.tcp_fastopen = 1 # 默认:仅客户端 # net.ipv4.tcp_fastopen = 3 # 需要服务端 TFO 时显式开启 ```
3) 动态缓冲区调整 根据系统内存自动选择最优配置: | 内存 | 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 优化 高并发服务器的端口快速回收: ```ini net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 15 net.ipv4.tcp_max_tw_buckets = 2000000 ```
5) 连接跟踪优化 支持百万级并发连接: ```ini net.netfilter.nf_conntrack_max = 2097152 net.netfilter.nf_conntrack_tcp_timeout_established = 7200 ```
6) 内存管理优化 减少交换,优先保障应用性能: ```ini vm.swappiness = 10 vm.dirty_ratio = 40 vm.dirty_background_ratio = 10 vm.vfs_cache_pressure = 50 ```
7) 网卡 Offload 关闭 关闭可能导致问题的硬件卸载功能: - GRO / GSO / TSO / LRO - Scatter-gather - rx-gro-hw / rx-udp-gro-forwarding - 各种隧道分段
8) 队列调度优化 使用 BBR 团队推荐的 FQ(Fair Queue)调度器: ```bash 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 环境变量配置

⚠️ 注意事项(展开) 1. **需要 root 权限**:脚本需要 root 或 sudo 执行 2. **BBR 需要内核支持**:Linux 4.9+ 内核才支持 BBR 3. **OpenVZ 限制**:OpenVZ 容器无法修改内核参数,仅部分功能可用 4. **建议重启**:部分优化(如 ulimit)需要重启或重新登录才能完全生效 5. **生产环境**:建议先在测试环境验证效果

🧠 设计原则

原则 说明
安全第一 所有操作使用 || true 容错,防止炸机
智能检测 自动检测系统内存、BBR 支持、网卡等
动态调整 根据系统资源自动选择最优参数
跨平台 支持主流 Linux 发行版
幂等性 重复执行无副作用
可逆性 提供完整卸载功能
透明性 详细的状态报告和日志

📝 更新日志

v2.0.1 Extreme Edition

v2.0.0 Extreme Edition

v1.1.0


🙏 致谢(展开) 感谢以下资源提供的技术参考: - [ESnet Fasterdata](https://fasterdata.es.net/host-tuning/linux/) - Linux 网络调优指南 - [nixCraft](https://www.cyberciti.biz/cloud-computing/increase-your-linux-server-internet-speed-with-tcp-bbr-congestion-control/) - BBR 配置教程 - [DigitalOcean](https://www.digitalocean.com/community/tutorials/tuning-linux-performance-optimization) - 性能优化教程 - [Linux Kernel Documentation](https://docs.kernel.org/networking/scaling.html) - 内核网络文档 - IDC Flare 论坛用户的反馈和建议

📄 许可证

本项目采用 MIT License 开源许可证。

如果这个项目对你有帮助,请给个 ⭐ Star 支持一下!