云服务器内核参数优化实战教程(高并发 / 稳定 / 通用版)
- 作者:小梦
- 发表时间:2026-03-05
- 来源:原创
⚙️ 云服务器内核参数优化实战教程
云服务器出厂内核参数普遍偏保守,只适合日常测试,不适合高并发网站、API、数据库、游戏等场景。通过优化内核参数,可以大幅提升 TCP 并发连接数、网络吞吐量、文件打开数、内存利用率,降低丢包与卡顿。本文提供通用安全、可直接上线的优化方案,CentOS/Ubuntu 通用。
📌 优化前必读(安全底线)
- 优化文件:
/etc/sysctl.conf - 优化前先备份:
cp /etc/sysctl.conf /etc/sysctl.conf.bak - 生效命令:
sysctl -p - 小内存服务器(1G/2G)不要过度调优,避免内存溢出
🌐 一、TCP 网络内核优化(最常用)
主要解决:高并发连接、TIME_WAIT 过多、连接卡顿、丢包、端口不足等问题。
# 开启 TCP 拥塞控制 BBR(大幅提升跨境 / 高延迟网络速度) net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr # 最大监听队列 net.core.somaxconn = 65535 # 网卡收发队列 net.core.netdev_max_backlog = 65535 # 最大 TCP 连接数 net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 # 缩短 TIME_WAIT 回收时间 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 0 # 开启 SYN 洪水攻击保护 net.ipv4.tcp_syncookies = 1 # 本地端口范围(增大可用端口) net.ipv4.ip_local_port_range = 1024 65535 # 保持连接参数 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_keepalive_intvl = 30 net.ipv4.tcp_keepalive_probes = 3
📂 二、文件句柄 & 进程数优化
解决:Too many open files、进程数不足、服务崩溃。
# 系统最大打开文件数 fs.file-max = 1000000 # 进程最大打开文件数 fs.nr_open = 1000000 # 消息队列(高并发场景) kernel.msgmnb = 65536 kernel.msgmax = 65536
🧠 三、内存 & Swap 优化
云服务器一般建议尽量少用 Swap,避免性能下降。
# 0-100,值越小越优先使用物理内存 vm.swappiness = 10 # 缓存回收策略(更合理利用内存) vm.vfs_cache_pressure = 100 # 关闭内存过量分配(避免 OOM 杀进程) vm.overcommit_memory = 0 # 最大共享内存 kernel.shmmax = 68719476736 kernel.shmall = 4294967296
💽 四、磁盘 I/O 优化
适合高 IO 场景:数据库、存储、日志服务。
# 提高磁盘读写并发 vm.dirty_ratio = 10 vm.dirty_background_ratio = 5 # 提高文件系统处理能力 fs.inotify.max_user_instances = 8192 fs.inotify.max_user_watches = 524288
✅ 五、完整可复制内核优化配置
直接覆盖 /etc/sysctl.conf 即可,通用、安全、适合 99% 云服务器。
# 云服务器通用内核优化 fs.file-max = 1000000 fs.nr_open = 1000000 vm.swappiness = 10 vm.vfs_cache_pressure = 100 vm.overcommit_memory = 0 net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr net.core.somaxconn = 65535 net.core.netdev_max_backlog = 65535 net.ipv4.tcp_max_syn_backlog = 65535 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 0 net.ipv4.tcp_syncookies = 1 net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_keepalive_intvl = 30 net.ipv4.tcp_keepalive_probes = 3 vm.dirty_ratio = 10 vm.dirty_background_ratio = 5 fs.inotify.max_user_instances = 8192 fs.inotify.max_user_watches = 524288 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296
🚀 六、生效 & 验证
- 生效:
sysctl -p - 查看 BBR 是否开启:
sysctl net.ipv4.tcp_congestion_control - 查看最大文件句柄:
ulimit -n - 查看 TCP 端口范围:
sysctl net.ipv4.ip_local_port_range
🎯 七、不同场景微调建议
| 场景 | 优化重点 |
|---|---|
| Web / 网站 / 高并发 | TCP+BBR、端口范围、TIME_WAIT |
| 数据库(MySQL/Redis) | 文件句柄、共享内存、swappiness、dirty_ratio |
| 1G/2G 小内存服务器 | swappiness=10,关闭多余优化,避免 OOM |
| 跨境 / 海外服务器 | 必须开启 BBR,TCP 优化拉满 |
⚠️ 八、避坑要点
- 不要盲目抄网上 “极限优化”,容易导致服务器崩溃
- tcp_tw_recycle 在 NAT 网络下会导致连接异常,必须设为 0
- 小内存机器不要把文件句柄、队列设得过大
- 生产环境先在测试机验证,再上线
✅ 优化总结
云服务器内核优化的核心是:开启 BBR 加速、调大 TCP 并发、合理使用内存、放开文件限制。 本文这套配置是安全通用版,适用于阿里云、腾讯云、华为云、青云等所有云服务器,CentOS、Ubuntu 系统通用,优化后服务器并发能力、网络速度、稳定性都会明显提升。