Linux Minimal 调整内核参数的实用步骤
一、核心机制与位置
二、标准流程与示例
# /etc/sysctl.d/99-tune.conf
# 降低交换倾向(根据负载在 10–30 之间更常见)
vm.swappiness = 10
# 基础网络防护与连接复用
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
# 监听队列与 SYN 队列
net.core.somaxconn = 1024
net.ipv4.tcp_max_syn_backlog = 2048
# 可选:如不使用 IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
应用:sysctl -p;验证:sysctl net.ipv4.tcp_fin_timeout、cat /proc/sys/net/ipv4/tcp_fin_timeout。三、按场景给出可直接使用的参数
kernel.shmmni = 4096
kernel.shmmax = 17179869184 # 16GB
kernel.shmall = 4194304 # 16GB/4KB
kernel.sem = 250 1024000 32 4096
kernel.msgmni = 16384
kernel.msgmax = 65536
kernel.msgmnb = 65536
应用:sysctl -p;如需持久化,写入 /etc/sysctl.conf 或 /etc/sysctl.d/。net.core.rmem_max = 212992
net.core.wmem_max = 212992
net.ipv4.tcp_rmem = 4096 87380 6291456
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_moderate_rcvbuf = 1
net.core.somaxconn = 1024
net.ipv4.tcp_max_syn_backlog = 2048
net.core.netdev_max_backlog = 2000
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
vm.swappiness = 10
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
vm.dirty_expire_centisecs = 3000
vm.dirty_writeback_centisecs = 500
提示:数值需结合业务与内存容量压测后微调。四、验证、回滚与注意事项