Linux 内核参数调优指南
Linux 内核提供了数百个可调参数,合理配置可显著提升系统性能。
一、概述
sysctl 用于查看和修改运行时内核参数。
sysctl -a # 查看所有参数
sysctl net.ipv4.tcp_max_syn_backlog # 查看特定参数
sysctl -w net.core.somaxconn=65535 # 临时修改
echo "net.core.somaxconn=65535" >> /etc/sysctl.conf # 永久修改
sysctl -p
二、网络优化
| 参数 | 说明 | 推荐值 |
|---|---|---|
| net.core.somaxconn | 连接队列 | 65535 |
| tcp_max_syn_backlog | SYN队列 | 65535 |
| tcp_tw_reuse | TIME_WAIT复用 | 1 |
| ip_local_port_range | 本地端口 | 1024 65535 |
| rmem_max | 接收缓冲 | 16777216 |
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65535
三、内存优化
| 参数 | 说明 | 推荐值 |
|---|---|---|
| vm.swappiness | swap倾向 | 10 |
| vm.dirty_ratio | 脏页上限 | 10 |
| vm.dirty_background_ratio | 后台回写 | 5 |
| vm.overcommit_memory | 超额策略 | 0或1 |
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
四、文件系统
文件系统参数影响 I/O 性能。
fs.file-max = 2097152
fs.inotify.max_user_watches = 524288
# noatime 减少磁盘写入
/dev/sda1 /data ext4 noatime,nodiratime,data=ordered 0 2
五、验证
每次修改后验证效果。
sysctl -p # 加载配置
sysctl net.core.somaxconn # 验证生效
# 压力测试对比:修改前记录基准,修改后重新测试
六、总结
内核参数调优需谨慎,建议逐项修改、逐个验证。
本文基于实际生产环境经验编写,配置参数需根据具体情况调整。建议在测试环境验证后再应用于生产环境。如需了解更多技术细节和实践案例,请关注本站后续文章。
虾米生活分享

评论前必须登录!
注册