系统参数配置说明

最近更新时间:2026-04-14 11:23:21

我的收藏

第一章:系统服务

系统服务名称
服务描述
默认安装
建议
开启条件
crond.service
定时后台执行任务调度
开启
-
getty@.service
终端服务
开启
-
irqbalance.service
多处理器系统中分布硬件中断服务
开启
-
kdump.service
内核故障转储服务
开启
需要内核故障诊断信息搜集时打开
kpatch.service
启动时加载内核 patch 模块
开启
在有热补丁时使用
mcelog.service
硬件报警日志服务
关闭
物理机环境开启(虚机不开启)
rsyslog.service
系统日志服务
开启
-
sshd.service
ssh 服务
开启
-
sysstat.service
系统状态统计服务
开启
-
dm-event.socket
device-mapper 设备事件
关闭
系统使用 device mapper 设备
autovt@.service
虚拟终端
开启
-
abrt-ccpp.service
C / C ++ 问题收集
关闭
需要 abrt 提交时打开
abrtd.service
自动 bug 报告服务
关闭
需要 abrt 提交时打开
abrt-oops.service
内核 oops 异常信息收集工具
关闭
需要 abrt 提交时打开
abrt-pstoreoops.service
存储 oops 信息服务
关闭
需要 abrt 提交时打开
abrt-vmcore.service
vmcore 文件复制和处理服务
关闭
需要 abrt 提交时打开
abrt-xorg.service
xorg 信息异常收集
关闭
需要 abrt 提交时打开
arp-ethers.service
网络信息异常收集
关闭
需要 abrt 提交时打开
atd.service
at 服务
关闭
需要一次调度执行时打开
auditd.service
系统审计服务
开启
需要使用审计功能时打开
chronyd.service
时间同步服务
关闭
ntp 的替代
dm-event.service
device mapper 事件服务
关闭
使用 device mapper 设备时打开
ebtables.service
网桥过滤服务
关闭
链路层过滤规则需要时打开
firewalld.service
防火墙服务
关闭
需要防火墙规则时打开
fstrim.timer
SSD 磁盘 TRIM 服务
关闭
SSD 磁盘 TRIM 时打开
gssproxy.service
GSSAPI 代理服务
关闭
rpc.svcgssd 替代,需要 GSSAPI 认证时打开
iprdump.service
IBM Power RAID 适配器 dump 服务
关闭
虚机均关闭
iprinit.service
IBM Power RAID 适配器初始化服务
关闭
虚机均关闭
iprupdate.service
IBM Power RAID 适配器更新服务
关闭
虚机均关闭
iprutils.target
IBM Power RAID 适配器管理服务
关闭
虚机均关闭
ipsec.service
IPSec 服务
关闭
需要 IPSec 安全协议时打开
kexec.target
通过 kexec 重启 kexec 加载内核
关闭
使用 kexec 操作内核时激活重启加载的内核
libstoragemgmt.service
存储管理库 lsmd 服务
关闭
需要管理支持的 SAN 和 RAID 卡时打开,虚机均关闭
lvm2-lvmpolld.service
lvm2 的轮询守护进程
关闭
use_lvmpolld 功能时打开
lvm2-monitor.service
lvm2 的 mirror 监控进程
关闭
需要 lvm2 监控进程时打开
mdmonitor.service
MD 软件 RAID 监控进程
关闭
采用 md 软件 raid 时打开
microcode.service
硬件微代码更新服务
关闭
微码更新时打开
nfs-blkmap.service
并行 NFS 服务进程
关闭
pnfs 时打开
nfs-server.service
NFS server 服务
关闭
NFS server 提供服务时打开
nfs-client.target
NFS client 服务
关闭
NFS client 提供服务时打开
plymouth*
图卡渲染服务
关闭
需要图卡直接渲染功能时打开
pmcd.service
性能指标搜集服务
关闭
使用 pcp 获取性能参数时打开
pmie.service
性能指标接口服务
关闭
使用 pcp 获取性能参数时打开
pmlogger.service
性能指标日志服务
关闭
使用 pcp 获取性能参数时打开
pmproxy.service
性能指标代理服务
关闭
使用 pcp 获取性能参数时打开
powertop.service
电源管理服务
关闭
诊断电源消耗及电源管理时打开
psacct.service
内核进程计数服务
关闭
需要统计进程计数及活动情况时打开
rasdaemon.service
RAS 日志服务
关闭
需要 RAS 管理服务时打开
ras-mc-ctl.service
RAS 内存控制服务
关闭
需要 RAS 管理服务时打开
rdisc.service
ICMP 路由发现服务
关闭
需要 ICMP 路由服务时打开
named.service
DNS Server 服务
关闭
需要 DNS 服务时打开
rngd.service
硬件 RNG 收集器服务
关闭
需要 RNG 收集服务时打开
rpc-rquotad.service
RPC 磁盘配额服务
关闭
远程磁盘配额服务
rsyncd.service
远程同步服务
关闭
提供远程同步服务时打开
smartd.service
智能卡服务
关闭
需要智能卡时打开
snmpd
snmp 服务
关闭
需要 snmp 服务时打开
tcsd.service
TPM 设备用户空间进程服务
关闭
需要 TPM 设备时打开
tuned.service
监视系统组件使用情况并动态调整系统设置的服务
关闭
需要 tuning profile 时打开
xinetd.service
超级服务
关闭
需要 xinetd 管理的服务时打开
postfix
邮件服务
关闭
-
NetworkManager.service
网络管理
开启
-
systemd-hibernate.service
系统休眠
关闭
-
rdma-hw.target
RDMA
关闭
有 RDMA 硬件时开启
Systemd-journald
日志服务
开启
Storage 配置建议保持默认(不做修改,默认是 auto),同时建议部署时创建日志目录(如不创建,则默认使用内存保存日志),减少日志导致的内存占用。
mkdir -p /var/log/journal/

第二章:参数说明

分类
参数名
说明
系统全局
运行级别
控制系统启动后进入的运行模式。multi-user(3)为多用户文本模式,graphical(5)为图形界面模式。服务器环境建议使用文本模式以减少资源消耗,如需图形界面需单独安装相应组件并切换运行级别。
data seg size
限制进程数据段(data segment)的最大大小,即进程可通过 brk/sbrk 系统调用分配的最大内存量。设置为 Unlimited 表示不限制进程数据段的大小。
File size
限制进程可创建的单个文件的最大大小。设置为 Unlimited 表示不限制文件大小,允许进程创建任意大小的文件。
Open file
限制单个进程可同时打开的文件描述符数量上限。该参数影响进程能同时打开的文件、套接字、管道等资源数量,高并发服务器场景通常需要调大此值。
Message queues
限制用户可用于 POSIX 消息队列的最大内存字节数。消息队列用于进程间通信,该值决定了单个用户可以分配给所有消息队列的总内存上限。
Stack size
限制进程栈空间的最大大小(单位KB)。栈空间用于存储函数调用信息、局部变量等,过小可能导致栈溢出,过大则浪费虚拟地址空间。
Max user processes
限制单个用户可同时创建的最大进程/线程数量。该值影响系统能够同时运行的进程总数,高并发场景需适当调大。
/etc/selinux/config
SELinux(安全增强 Linux)的全局配置文件,用于设置 SELinux 的工作模式。enforcing 为强制模式,permissive 为宽容模式(仅记录不阻止),disabled 为完全禁用。修改后需重启系统才能生效,若需立即临时生效可执行 setenforce 命令。
内存
vm.swappiness
控制内核将内存页面交换到 swap 分区的积极程度,取值范围0-100。值越低,内核越倾向于保留物理内存中的页面,减少 swap 使用;值越高,内核越积极地将不活跃页面换出到 swap。服务器环境建议设置较低值以优先使用物理内存。
vm.dirty_background_ratio
当文件系统脏页(已修改但未写入磁盘的缓存页)数量占系统总内存的百分比达到该阈值时,内核会启动后台回写(pdflush/flush)进程,以异步方式将脏页写入磁盘。该参数用于控制后台异步写回的触发时机。
vm.dirty_ratio
当文件系统脏页数量占系统总内存的百分比达到该阈值时,产生脏页的进程将被阻塞,内核强制以同步方式将脏页写入磁盘。该参数用于防止内存中积累过多脏页,避免突然的大量磁盘 I/O。
调度
kernel.sched_min_granularity_ns
CFS 调度器的最小调度粒度(单位纳秒)。当某个 CPU 运行队列上的进程数超过 sched_nr_latency 阈值时,调度周期等于此值乘以进程数。该参数保证每个进程获得的最小 CPU 时间片,防止频繁切换。
kernel.sched_latency_ns
CFS 调度器的目标调度周期(单位纳秒)。当 CPU 运行队列上的进程数少于 sched_nr_latency 时,使用此值作为调度周期。所有可运行进程在此周期内至少运行一次。
网络
net.ipv4.tcp_keepalive_time
TCP 连接空闲后,内核开始发送 keepalive 探测包的等待时间(单位秒)。当 TCP 连接在该时间内没有任何数据传输时,内核将开始发送探测报文以检测对端是否仍然存活。
net.ipv4.tcp_retries2
TCP 数据包重传的最大次数。当已建立的 TCP 连接发送数据后未收到确认时,内核会重传数据,超过此次数后内核将放弃重传并关闭连接。该值影响连接在网络不稳定时的容忍度。
net.ipv4.tcp_syn_retries
TCP 主动建立连接时 SYN 包的最大重试次数。客户端发送 SYN 请求后如果没有收到 SYN+ACK 响应,将重试发送 SYN 包,超过此次数后放弃连接。
net.ipv4.tcp_keepalive_probes
TCP keepalive 探测的最大次数。当 keepalive 探测开始后,如果连续发送此数量的探测包均未收到对端响应,内核将认为连接已失效并发送 RST 关闭连接。
net.ipv4.tcp_keepalive_intvl
TCP keepalive 探测包之间的发送间隔(单位秒)。在首次 keepalive 探测发出后,如果未收到响应,后续探测将按此间隔重复发送,直到达到最大探测次数。
net.ipv4.ip_local_port_range
定义本地 TCP/UDP 端口的可用范围。当应用程序不指定源端口进行连接时,内核从此范围中选择可用端口。调大范围可支持更多并发连接。
net.ipv4.ip_forward
控制是否启用 IPv4数据包转发功能。设为1时系统可作为路由器在网络接口之间转发数据包,设为0时禁用转发。普通服务器通常不需要开启此功能。
net.ipv4.conf.all.send_redirects
控制系统是否向所有网络接口发送 ICMP 重定向消息。ICMP 重定向用于告知发送方存在更优路由路径,出于安全考虑,非路由器设备建议禁用此功能。
net.ipv4.conf.default.send_redirects
控制系统是否向新建网络接口默认发送 ICMP 重定向消息。与 conf.all.send_redirects 类似,但仅作用于新创建的网络接口的默认配置。
net.ipv4.conf.all.accept_source_route
控制是否接受所有接口上的 IP 源路由选项。源路由允许发送方指定数据包经过的路由路径,可能被攻击者利用进行 IP 欺骗,建议禁用。
net.ipv4.conf.default.accept_source_route
控制新建网络接口是否默认接受 IP 源路由选项。与 conf.all.accept_source_route 类似,但仅作用于新创建接口的默认行为。
net.ipv4.conf.all.accept_redirects
控制是否接受所有接口上的 ICMP 重定向消息。接受重定向可能被攻击者利用来篡改路由表,建议在非路由器设备上禁用。
net.ipv4.conf.all.secure_redirects
控制是否仅接受来自网关列表中网关的 ICMP 重定向消息。即便开启了 accept_redirects,此参数也可限制仅接受可信网关的重定向。
net.ipv4.conf.default.secure_redirects
控制新建网络接口是否默认仅接受来自网关列表中网关的 ICMP 安全重定向消息。
net.ipv4.conf.all.log_martians
控制是否记录所有接口上来源地址不合法的数据包(火星包)日志。启用后,内核会将源地址不合理(如私有地址出现在公网接口)的数据包记录到系统日志中,有助于安全审计。
net.ipv4.conf.default.log_martians
控制新建网络接口是否默认记录源地址不合法数据包的日志信息。
net.ipv4.icmp_echo_ignore_broadcasts
控制是否忽略发往广播地址的 ICMP Echo 请求(ping 广播)。启用可防止 smurf 攻击,攻击者通过伪造源地址向广播地址发送 ping 请求来放大攻击流量。
net.ipv4.icmp_ignore_bogus_error_responses
控制是否抑制针对不符合 RFC 1122的异常 ICMP 错误响应的内核告警日志。启用后主要作用是减少此类 bogus error response 的日志噪音,而不是作为通用的 ICMP 报文过滤开关。
net.ipv4.conf.all.rp_filter
控制所有接口的反向路径过滤(Reverse Path Filtering)模式。0表示关闭源地址校验;1表示严格模式,仅当报文源地址的最佳反向路径就是接收接口时才通过;2表示宽松模式,只要系统存在到该源地址的可达路由即可通过。多宿主或非对称路由场景通常更适合宽松模式。
net.ipv4.conf.default.rp_filter
控制新建网络接口默认采用的反向路径过滤模式。其取值语义与 conf.all.rp_filter 一致:0关闭、1严格模式、2宽松模式,仅影响新创建接口的默认行为。
net.ipv4.tcp_syncookies
控制是否启用 TCP SYN Cookie 机制。当 SYN 队列溢出时,内核使用 SYN Cookie 技术处理连接请求而不分配资源,可有效防御 SYN Flood 攻击。
net.ipv6.conf.all.accept_ra
控制所有接口是否接受 IPv6路由器通告(Router Advertisement)。路由器通告用于 IPv6无状态地址自动配置(SLAAC),非需要 IPv6自动配置的场景建议禁用。
net.ipv6.conf.default.accept_ra
控制新建网络接口是否默认接受 IPv6路由器通告。与 conf.all.accept_ra 功能相同,但仅影响新创建接口的默认行为。
net.ipv6.conf.all.accept_redirects
控制所有接口是否接受 IPv6的 ICMP 重定向消息。出于安全考虑,建议在非路由设备上禁用以防止路由表被恶意篡改。
net.ipv6.conf.default.accept_redirects
控制新建网络接口是否默认接受 IPv6的 ICMP 重定向消息。
net.core.rmem_default
设置套接字接收缓冲区的默认大小(单位字节)。当应用程序未显式设置接收缓冲区大小时,使用此默认值。网络密集型业务可适当调大以提高吞吐量。
net.core.rmem_max
设置套接字接收缓冲区允许的最大大小(单位字节)。应用程序通过 setsockopt 设置 SO_RCVBUF 时,不能超过此上限。高吞吐量场景需要调大此值。
net.core.wmem_default
设置套接字发送缓冲区的默认大小(单位字节)。当应用程序未显式设置发送缓冲区大小时使用此默认值。
net.core.wmem_max
设置套接字发送缓冲区允许的最大大小(单位字节)。应用程序通过 setsockopt 设置 SO_SNDBUF 时,不能超过此上限。
net.ipv4.tcp_rmem
设置 TCP 套接字接收缓冲区的大小,包含三个值:最小值、默认值、最大值(单位字节)。内核根据可用内存在此范围内动态调整每个 TCP 连接的接收缓冲区大小。
net.ipv4.tcp_wmem
设置 TCP 套接字发送缓冲区的大小,包含三个值:最小值、默认值、最大值(单位字节)。内核根据可用内存在此范围内动态调整每个 TCP 连接的发送缓冲区大小。
net.core.somaxconn
设置 socket listen()函数 backlog 队列的最大长度,即已完成三次握手等待 accept()处理的连接队列上限。高并发服务器需要调大此值以避免连接被拒绝。
net.ipv4.ipfrag_time
设置 IPv4分片在内存中保留的最长时间(单位秒)。超过此时间仍未完成重组的 IP 分片将被丢弃。该参数影响 IP 分片重组的超时行为。
net.ipv4.tcp_tw_reuse
控制是否允许将 TIME_WAIT 状态的 socket 重新用于新的 TCP 连接。启用后可在高并发短连接场景下快速回收端口资源,减少 TIME_WAIT 状态连接的资源占用。
net.ipv4.tcp_fin_timeout
设置 TCP 连接在 FIN_WAIT_2状态的超时时间(单位秒)。连接关闭过程中对端未发送 FIN 包时,超过此时间后内核强制关闭连接并回收资源。
net.ipv4.tcp_orphan_retries
设置孤儿(orphan)TCP 连接在关闭前重试的次数。孤儿连接是指已经不与任何进程关联但仍处于关闭过程中的 TCP 连接。降低此值可加速孤儿连接的回收。
net.ipv4.tcp_synack_retries
设置 TCP 被动建立连接时 SYN+ACK 包的最大重试次数。服务端收到 SYN 并回复 SYN+ACK 后,如果未收到客户端的 ACK 确认,将重发 SYN+ACK,超过此次数后放弃连接。
net.ipv4.tcp_max_orphans
设置系统中允许存在的最大孤儿 TCP 连接数。当孤儿连接数超过此阈值时,内核会打印警告并开始强制关闭孤儿连接。该参数用于防止孤儿连接占用过多内核资源。
net.ipv4.tcp_slow_start_after_idle
控制 TCP 连接空闲后是否重新进入慢启动阶段。设为1时,空闲后拥塞窗口重置为初始值,重新慢启动;设为0时保持之前的拥塞窗口大小,内网环境设为0可提升性能。
net.ipv6.conf.all.disable_ipv6
控制是否在所有网络接口上禁用 IPv6协议。设为1时完全禁用 IPv6,设为0时启用。不需要 IPv6的环境建议禁用以减少攻击面。
net.ipv6.conf.default.disable_ipv6
控制新建网络接口是否默认禁用 IPv6协议。与 conf.all.disable_ipv6类似,但仅影响新创建接口的默认行为。
调测
kernel.printk
控制内核日志在控制台上的输出级别,通常对应4个整数:console_loglevel、default_message_loglevel、minimum_console_loglevel、default_console_loglevel。只写单个数字时,仅修改第一个参数(当前 console_loglevel),其余三个参数保持原值不变。
kernel.hung_task_panic
控制当检测到 hung task(长时间处于不可中断睡眠 D 状态的进程)时,内核是否触发 panic。设为1时内核 panic 以便通过 kdump 收集调试信息,设为0时仅记录告警日志。
kernel.panic_on_oops
控制当内核发生 oops(内核运行时错误)时是否触发 panic。设为1时 oops 后内核立即 panic,有助于通过 kdump 捕获故障现场;设为0时仅记录 oops 信息,系统可能继续运行但状态不可靠。
kernel.panic_on_rcu_stall
控制当检测到 RCU(Read-Copy-Update)CPU stall(RCU 回调长时间未执行)时,内核是否触发 panic。设为1时触发 panic 以便调试,设为0时仅打印告警信息。
kernel.softlockup_panic
控制当检测到 soft lockup(CPU 长时间未让出调度)时,内核是否触发 panic。设为1时触发 panic 以便通过 kdump 收集信息定位问题,设为0时仅记录告警日志。
vm.panic_on_oom
控制当系统发生 OOM(Out Of Memory,内存耗尽)时,内核是否触发 panic。设为1时内核 panic(不执行 OOM Killer),设为0时内核调用 OOM Killer 选择并杀死进程以释放内存。