内存优化
- vm.max_map_count: 控制一个进程可以拥有的最大虚拟内存映射区域数量(如ES和数据库节点默认值可能不足)。
- vm.swappiness: 控制系统何时开始使用交换空间。
- vm.overcommit_memory: 控制内核如何处理内存的过度分配。
- vm.transparent_hugepage: 透明大屏参数(该参数KubeKey还没有添加)。
- vm.drop_caches: 释放Linux系统的缓存,echo 3 > /proc/sys/vm/drop_caches。
网络优化
- net.ipv4.ip_forward: 转发功能使在不同的网络之间转发数据包。
- net.ipv4.ip_local_reserved_ports: 控制本地保留端口的范围。
- net.core.rmem_max: 最大接收缓冲区大小。
- net.core.wmem_max: 最大发送缓冲区大小。
- net.core.somaxconn: 最大监听队列长度,决定一个监听套接字能同时等待的连接数量。
- net.ipv4.tcp_max_syn_backlog: 控制 SYN 队列的最大大小。
- net.ipv4.tcp_max_tw_buckets: 最大 TCP TIME-WAIT 状态的数量,如果系统中处于 TIME-WAIT 状态的连接数量超过这个值,系统会拒绝新的连接请求。
- net.ipv4.tcp_keepalive_time: TCP 连接空闲多长时间后开始发送 keep-alive 探测包。
- net.ipv4.tcp_max_orphans: 控制的是允许系统同时持有的孤儿 TCP 连接的最大数量。
- net.ipv4.tcp_fin_timeout: 是一个用于设置 TCP 连接在关闭过程中 FIN 等待状态的超时时间的内核参数。
文件系统
- fs.aio-max-nr: 控制系统中支持的最大异步 I/O(AIO)请求数量。
- fs.inotify.max_user_instances: 设置单个用户可以使用的 inotify 实例的最大数量。
- fs.inotify.max_user_watches: 设置每个 inotify 实例可以监视的最大文件数量。
- fs.pipe-max-size: 设置管道缓冲区的最大大小。
- soft nofile: 每个用户可以打开的最大文件描述符的软限制。
- hard nofile: 每个用户可以打开的最大文件描述符的硬限制。
- soft nproc: 每个用户可以创建的最大进程数的软限制。
- hard nproc: 每个用户可以创建的最大进程数的硬限制。
- soft memlock unlimited: 每个用户可以锁定的最大内存量的软限制。
- hard memlock unlimited: 每个用户可以锁定的最大内存量的硬限制。
内核
- kernel.pid_max: 控制着 Linux 系统允许的最大进程 ID (PID) 数量。
- kernel.watchdog_thresh: 设置内核 watchdog 超时触发的时间,如果系统在指定时间内无响应,则 watchdog 会触发。
- Kernel.hung_task_timeout_secs:设置内核检测到进程挂起的超时值,如果任务在该时间内没有响应,内核会认为其挂起并报警。