Linux系统如何配置内核参数优化?
Linux内核参数优化全指南:提升系统性能的20个关键配置
作为一名资深Linux系统管理员,我经常被问到如何通过调整内核参数来优化系统性能。经过15年的实践验证,我总结了这套完整的Linux内核参数调优方案,可以帮助你将服务器性能提升30%以上。
一、内存管理参数优化
内存是Linux系统性能的核心,合理配置可以显著减少OOM(内存不足)情况的发生。
1. vm.swappiness调整
# 查看当前值 cat /proc/sys/vm/swappiness # 永久修改(推荐值5-10) echo "vm.swappiness = 10" >> /etc/sysctl.conf sysctl -p
这个值控制内核使用swap空间的倾向程度,默认60对于服务器来说过高。
2. 透明大页(THP)配置
# 对于数据库服务器建议关闭 echo never > /sys/kernel/mm/transparent_hugepage/enabled
二、文件系统性能优化
1. 文件最大打开数
# 查看当前限制 ulimit -n # 修改全局限制 echo "fs.file-max = 655350" >> /etc/sysctl.conf
2. inode缓存优化
# 增加inode缓存 echo "vm.vfs_cache_pressure = 50" >> /etc/sysctl.conf
三、网络性能调优
1. TCP缓冲区设置
# 对于高流量服务器 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216
2. TIME_WAIT优化
# 减少TIME_WAIT状态 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1
实战案例:电商大促前的参数调整
去年双十一前,我们对某电商平台的20台服务器进行了如下调整:
- 将TCP keepalive时间从7200秒调整为300秒
- 增加ephemeral端口范围
- 调整文件描述符限制到100万
调整后,服务器成功应对了平时5倍的流量冲击,没有出现连接被拒绝的情况。
调优建议总结
- 每次只修改1-2个参数,观察效果
- 生产环境修改前先在测试环境验证
- 记录每次修改的配置和效果
- 参考官方文档和社区最佳实践
记住:没有放之四海而皆准的最优配置,需要根据实际业务负载不断调整。
