当前位置:首页>Linux>运维必备:Linux高并发内核优化手册,极致释放服务器性能

运维必备:Linux高并发内核优化手册,极致释放服务器性能

  • 2026-10-11 07:54:13
运维必备:Linux高并发内核优化手册,极致释放服务器性能

对于业务系统在Linux完成部署后,很多小伙伴采用系统默认配置,直接投产使用。其实,我们还可以针对内核进行深度优化,充分发挥Linux性能,让服务器响应更为快速。本文详细介绍Linux性能优化步骤。

一、用户级/系统最大文件句柄

文件句柄(File Handle):是Linux给进程打开的对象(文件、设备、sockect等)分配一个ID编号,可用于内核快速寻址、进程间相互通信,提升Linux性能处理效率。系统默认为1024,这个设置在高并发场景会出现too many open files。造成系统内存资源很大,但业务系统总是卡死的问题。

用户级:

(1)修改/etc/security/limits.conf配置

(2)修改内容如下:

注: *代表是所有普通用户,nofile是最大文件句柄数,nproc为最大进程数,soft和hard代表软硬限制,数值代表设置值

* soft nofile 65535

* hard nofile 65535

* soft nproc 65535

* hard nproc 65535

root soft nofile 65535

root hard nofile 65535

系统级:

(1)修改/etc/sysctl.conf配置

(2)修改内容如下:

fs.file-max = 655350系统最大打开文件数,这个数要为单进程的2倍及以上,建议采用10倍。

kernel.pid_max=65535 表示本机可以跑多少个进程,系统默认是32768,偏少。

fs.inotify.max_user_instances = 8192单用户可创建inotify监控实例

fs.inotify.max_user_watches = 524288用户可以同时监控文件数

生效配置:sysctl -p

二、网络高并发内核优化

网络传输层主要是TCP、UDP两种协议栈,现网80%业务采用TCP。本文针对TCP进行内核优化。

(1)编辑/etc/sysctl.conf文件

(2)填写如下内容到文件里面:

net.ipv4.ip_local_port_range = 1024 65535设置端口的可用范围

net.ipv4.tcp_tw_reuse = 1允许新连接复用TIME_WAIT端口,避免出现端口耗尽问题

net.ipv4.tcp_tw_recycle = 0关闭TIME_WAIT快速回收

net.ipv4.tcp_max_tw_buckets = 50000防止TIME_WAIT占满服务器端口和内存

net.ipv4.tcp_syncookies = 1开启防护SYN缓存防攻击

net.ipv4.ip_forward = 1开启路由转发,在docker场景、NAT场景使用。

三、内存内核优化

为了防止OOM、脏页问题,需要对内存内核进行优化,提升内核响应速度。

(1)编辑/etc/sysctl.conf文件

(2)填写如下内容到文件里面:

vm.swappiness = 10设置SWAP交换分区倾向,范围0-100,本文设置为10,尽量不使用交换内存。

vm.dirty_ratio = 20数据写入内存,但是还没刷到硬盘。在脏页达到总内存20%会强制刷入硬盘。

vm.dirty_background_ratio = 10脏页达到总内存10%主动刷入硬盘,不阻塞业务。

vm.dirty_expire_centisecs = 3000脏页在内存>30s进行落盘

vm.dirty_writeback_centisecs = 500每隔5s进行脏页查询

vm.overcommit_memory = 1允许内存超分,数据库、redis场景应用,避免服务启动失败。

vm.overcommit_ratio = 80物理内存给内核预留20%,应用可用80%

vm.nr_hugepages = 2 设置大页内存,固定内存不被置换。数值以内存数据为准。

四、内核安全防控

提升内核层面安全,需要各类安全风险。最近的Dirty Frag漏洞、copyfail漏洞都通过提权获取root权限。

(1)编辑/etc/sysctl.conf文件

(2)填写如下内容到文件里面:

kernel.kptr_restrict = 2禁止内核暴漏内存地址,防止提权利用

# 禁止接收ICMP重定向报文,防止路由篡改

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

# 忽略广播ARP、禁止ARP欺骗

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.icmp_echo_ignore_broadcasts = 1禁止响应广播ping,防止内网扫描、DDOS放大

net.ipv4.icmp_ignore_bogus_error_responses = 1  忽略错误ICMP报文,防畸形包攻击

【总结】

恭喜你成功掌握高性能内核优化策略,评论区有文章总结!觉得好可以关注、点赞、推荐、转发,谢谢!

#Linux #内核 #句柄 #性能优化 #TCP

最新文章

随机文章