Administrator
Administrator
发布于 2026-01-15 / 4 阅读
0
0

Linux内核优化模板

内核优化

cd /etc/sysctl.d
cp 99-sysctl.conf 99-sysctl.confback
vim 99-sysctl.conf
# ======================================
# 通用 Linux 内核优化配置
# 适用场景:K8s/容器、高并发Web、数据库
# ======================================

# ------------ 网络层优化 ------------
# 1. 开启 IPv4 转发(K8s/容器必备)
net.ipv4.ip_forward = 1

# 2. TCP 连接优化
# 最大监听队列长度(应对高并发请求)
net.core.somaxconn = 65535
# 每个端口的最大监听队列长度
net.ipv4.tcp_max_syn_backlog = 65535
# TCP SYN 握手超时时间(单位:秒),缩短超时释放资源
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2

# 3. TCP 连接复用与回收
# 允许 TIME_WAIT 状态的 socket 复用(减少 TIME_WAIT 堆积)
net.ipv4.tcp_tw_reuse = 1
# 快速回收 TIME_WAIT 状态的 socket
net.ipv4.tcp_tw_recycle = 0  # 注意:0 为关闭,高版本内核已废弃此参数
# TIME_WAIT 超时时间(单位:秒)
net.ipv4.tcp_fin_timeout = 15

# 4. TCP 内存与缓冲区优化
# TCP 内存使用的最小值、默认值、最大值(单位:页,1页=4k)
net.ipv4.tcp_mem = 94500000 915000000 927000000
# 每个 TCP socket 的读写缓冲区大小(最小值、默认值、最大值)
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216

# 5. 本地端口范围(避免端口耗尽)
net.ipv4.ip_local_port_range = 1024 65535

# 6. 关闭 ICMP 重定向(提升安全性)
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

# ------------ 内存与进程优化 ------------
# 1. SWAP 优化(K8s 推荐关闭 swap,降低 swap 使用优先级)
vm.swappiness = 0
# 内存不足时的页面回收策略,优先回收不活跃页面
vm.vfs_cache_pressure = 50

# 2. OOM 调整(避免内核轻易触发 OOM kill)
# OOM killer 触发时的内存压力阈值(百分比)
vm.overcommit_memory = 1
# 内存过度分配的比例
vm.overcommit_ratio = 90

# ------------ 容器/K8s 专属优化 ------------
# 1. 网桥转发(Calico/Flannel 等 CNI 必备)
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-arptables = 1

# 2. 最大文件句柄数(解决容器内文件句柄耗尽问题)
fs.file-max = 52706963
fs.nr_open = 52706963

# 3. 最大进程数限制
kernel.pid_max = 4194304

执行生效命令:sysctl --system 或 sysctl -p 99-sysctl.conf

文件句柄数优化

cat > /etc/security/limits.conf <<EOF
* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 655350
* soft memlock unlimited
* hard memlock unlimited 
EOF
ulimit -SHn 65535


评论