调整 Linux 内核参数是优化系统性能、增强安全性和提高稳定性的重要手段。这些参数控制着内核的各种行为,包括内存管理、网络设置和进程调度等。通过合理配置内核参数,可以使系统更好地适应特定的应用需求和工作负载。
内核参数的分类:
-
内存管理参数:控制内存的分配与回收策略,如
vm.swappiness
参数决定了系统在物理内存和交换空间之间进行页面置换的倾向性。 -
网络参数:涉及网络协议栈的配置,如
net.ipv4.ip_forward
参数控制是否启用 IP 转发功能。 -
进程管理参数:影响进程的调度和资源限制,如
kernel.pid_max
参数定义了系统中进程 ID 的最大值。
内核参数相关示例:
1. 内存管理调优
1.1 vm.overcommit_memory
- 作用:控制内核在内存分配时的过量分配策略。
- 取值说明:
- 0:内核会根据启发式算法判断是否允许分配超过物理内存的内存。
- 1:允许所有内存分配请求,即使超过物理内存(不建议生产环境使用)。
- 2:严格限制内存分配,只有总内存和交换空间之和内存才能分配。
- 示例:对数据库等内存敏感应用,可以将其设置为 2:
sysctl -w vm.overcommit_memory=2 echo "vm.overcommit_memory = 2" >> /etc/sysctl.conf
1.2 vm.overcommit_ratio
- 作用:与 vm.overcommit_memory 配合使用,决