4.6 KiB
Linux 内核参数列表
1、说明
这篇笔记用于记录常见 sysctl 内核参数,方便按类别快速查阅。它不是完整清单,而是运维中相对高频的一组参数索引。
查看参数:
sysctl 参数名
临时设置参数:
sysctl -w 参数=value
永久生效通常写入:
/etc/sysctl.conf
/etc/sysctl.d/*.conf
2、Kernel 类
2.1 kernel.panic
内核崩溃后自动重启前等待的秒数。
2.2 kernel.core_uses_pid
控制 core dump 文件名中是否带进程 ID。
2.3 kernel.core_pattern
指定 core dump 文件名模式。
2.4 kernel.msgmax
单个 IPC 消息的最大大小。
2.5 kernel.msgmnb
单个 IPC 消息队列的最大大小。
2.6 kernel.shmmax
单个共享内存段最大大小。
2.7 kernel.shmall
系统共享内存总量上限。
2.8 kernel.sem
系统级信号量参数。
2.9 kernel.sysrq
是否启用 SysRq 紧急控制功能。
2.10 kernel.randomize_va_space
地址空间随机化(ASLR)开关,影响系统安全性。
2.11 kernel.pid_max
系统可分配的最大 PID。
2.12 kernel.threads-max
系统线程总数上限。
2.13 kernel.printk
内核日志输出级别控制。
3、VM 类
3.1 vm.swappiness
控制系统使用 swap 的倾向,值越大越倾向使用交换分区。
3.2 vm.dirty_ratio
内存中脏页占比达到该阈值时,触发写回。
3.3 vm.dirty_background_ratio
后台刷盘开始的脏页比例。
3.4 vm.dirty_expire_centisecs
脏页可停留多久后被回写,单位是百分之一秒。
3.5 vm.vfs_cache_pressure
控制回收 inode / dentry 缓存的积极程度。
4、网络与 IPv4 类
4.1 net.ipv4.ip_forward
是否启用 IPv4 转发。
4.2 net.ipv4.conf.all.accept_redirects
是否接受 ICMP Redirect。
4.3 net.ipv4.conf.all.send_redirects
是否发送 ICMP Redirect。
4.4 net.ipv4.conf.all.rp_filter
是否启用反向路径过滤。
4.5 net.ipv4.conf.all.log_martians
是否记录异常来源的 IP 数据包。
5、TCP 类
5.1 net.ipv4.tcp_syncookies
SYN Cookies 开关,用于缓解 SYN Flood。
5.2 net.ipv4.tcp_max_syn_backlog
半连接队列最大长度。
5.3 net.ipv4.tcp_fin_timeout
连接关闭后 FIN_WAIT 等待时间。
5.4 net.ipv4.tcp_keepalive_time
TCP keepalive 首次探测时间。
5.5 net.ipv4.tcp_keepalive_probes
TCP keepalive 探测次数。
5.6 net.ipv4.tcp_keepalive_intvl
TCP keepalive 探测间隔。
5.7 net.ipv4.tcp_retries1
TCP 初阶段重传次数。
5.8 net.ipv4.tcp_retries2
TCP 更长阶段重传次数。
5.9 net.ipv4.tcp_synack_retries
服务端 SYN-ACK 重试次数。
5.10 net.ipv4.tcp_timestamps
是否启用 TCP 时间戳。
5.11 net.ipv4.tcp_sack
是否启用 TCP SACK。
5.12 net.ipv4.tcp_window_scaling
是否启用 TCP 窗口缩放。
5.13 net.ipv4.tcp_slow_start_after_idle
空闲后是否重新进入慢启动。
5.14 net.ipv4.tcp_fastopen
TCP Fast Open 开关。
5.15 net.ipv4.tcp_mtu_probing
TCP MTU 探测开关。
5.16 net.ipv4.tcp_congestion_control
TCP 拥塞控制算法,如 cubic、bbr。
5.17 net.ipv4.tcp_no_metrics_save
是否禁用保存连接性能指标。
5.18 net.ipv4.tcp_moderate_rcvbuf
是否启用接收缓冲区自动调节。
5.19 net.ipv4.tcp_ecn
是否启用 ECN。
5.20 net.ipv4.tcp_fack
是否启用 FACK 相关机制。
5.21 net.ipv4.tcp_low_latency
低延迟倾向控制。
5.22 net.ipv4.tcp_tw_reuse
是否允许重用 TIME_WAIT 套接字。
5.23 net.ipv4.tcp_tw_recycle
旧参数,现代内核中通常不再建议或已移除。
5.24 net.ipv4.tcp_abort_on_overflow
连接队列溢出时是否直接中止连接。
5.25 net.ipv4.tcp_adv_win_scale
高级窗口缩放因子。
5.26 net.ipv4.tcp_app_win
应用窗口参数。
5.27 net.ipv4.tcp_dsack
是否启用 D-SACK。
6、使用建议
- 修改前先确认当前值:
sysctl 参数名 - 临时调优先测试,再决定是否永久写入
- 网络内核参数对业务影响较大,尤其是高并发和代理场景
- 内核参数没有“通用最佳值”,一定要结合业务、内核版本、发行版默认行为来评估
7、小结
- 这份列表更适合作为索引,而不是盲目套参数模板
- 常见高频类别主要是
kernel.*、vm.*、net.ipv4.* - 实际调优时,要先明确目标:稳定性、吞吐量、延迟,还是安全性