Linux内核参数优化提升性能:Linux内核参数优化

很多新手买了一台 Linux 服务器,配好环境后总觉得响应慢,却又不知道问题出在哪里。
其实只要调整几个内核参数,就能在不花一分钱的前提下让性能明显改善。
本文把 Linux内核参数优化提升性能 这件事拆成五步,零基础也能跟着做。

调整前必须确认的两件事

动手之前先确认两样东西:一是当前内核版本(影响参数是否可用),二是给系统拍个“快照”。
登录服务器后依次执行:

uname -r                   # 看版本,比如 5.4.0
sysctl -a > /tmp/sysctl_bak.txt   # 备份全部当前参数

备份这一步非常关键——万一改错了,可以用 sysctl -p /tmp/sysctl_bak.txt 恢复(不过更安全的做法是记住改了哪些行)。
建议用 root 或具有 sudo 权限的用户操作。

最值得先动起来的五个参数

不要一次性修改几百个参数,新手只需要关注下面五个,性价比最高。

1. 提升并发连接能力:net.core.somaxconn

此参数控制 socket 监听队列的最大长度。
默认 128,并发稍高就会丢连接,比如 Nginx 或 Node.js 常见报错。
改成 1024:

echo "net.core.somaxconn = 1024" >> /etc/sysctl.conf

2. 降低 TIME_WAIT 堆积:net.ipv4.tcp_fin_timeout

缩短 TCP 连接关闭后的等待时间,默认 60 秒,改为 30 秒能释放更多端口:

echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf

3. 减少磁盘交换:vm.swappiness

控制系统使用交换分区的倾向,默认 60(偏高),对于内存充足的服务器建议改成 10 甚至 0:

echo "vm.swappiness = 10" >> /etc/sysctl.conf

4. 增大文件句柄限制:fs.file-max

高负载服务器很容易达到文件描述符上限,导致“Too many open files”。
先看当前值:

cat /proc/sys/fs/file-max

如果低于 100000,可以改成 1000000:

echo "fs.file-max = 1000000" >> /etc/sysctl.conf

5. 加快 TIME_WAIT 重用:net.ipv4.tcp_tw_reuse

注意:tcp_tw_recycle 已在较新内核中被移除,不要再用。tcp_tw_reuse 仍然可用,它允许将 TIME_WAIT 状态的 socket 用于新连接:

echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf

全部添加完后执行生效:

sysctl -p

最容易翻车的三个坑

  • 不要在已有业务运行的服务器上一次性批量修改。改完后最好观察一两天,如果出现连接异常,优先回退。
  • tcp_tw_recycle 不要碰。这个参数在 NAT 环境下会引起丢包,而且从内核 4.12 开始已经被移除,写进去只会报错。
  • vm.swappiness 设为 0 并不适合所有场景。如果内存紧张(比如只有 1G),建议保持 10 以上,否则 OOM Killer 会更频繁。

如果修改后系统启动异常,可以进入单用户模式或者挂载 LiveCD 后编辑 /etc/sysctl.conf 删除有问题的行。

如何确认参数已经生效

最简单的方法是用 sysctl 直接查:

sysctl net.core.somaxconn
sysctl vm.swappiness

返回的值就是你设置的值。
更彻底的验证可以用 sysctl -a | grep <参数名> 看所有。

想测试并发性能提升,可以用 Apache Bench 或 wrk 简单压测一下。
比如:

# 安装 ab(Apache Bench),CentOS 用 yum install httpd-tools,Ubuntu 用 apt install apache2-utils
ab -n 10000 -c 200 http://localhost/

对比优化前后的 Requests per second 和 Failed requests,数字会说话。

写在最后

Linux内核参数优化提升性能 这件事核心就是“对症下药”。
不要为了调优而调优,先明确你的瓶颈是连接数、磁盘交换还是文件句柄,再对应调整上面几个参数。
遇到异常时,第一时间查看 /var/log/messagesdmesg 输出,并用最开始的备份文件做恢复。
按照本文的步骤走一遍,你的服务器通常会有立竿见影的改善。

分享到:
上一篇
零基础也能上手:Linux系统内核升级稳定版教程
下一篇
Linux SELinux安全策略配置实战教程:从入门到避坑
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意