wiki/运维/Linux/笔记/31.Linux内核参数列表.md
2026-04-08 19:40:00 +08:00

4.6 KiB
Raw Blame History

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 拥塞控制算法,如 cubicbbr

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.*
  • 实际调优时,要先明确目标:稳定性、吞吐量、延迟,还是安全性