参数说明
Linux内核参数的配置对于性能的影响是巨大的。 可以通过修改/etc/sysctl.conf文件来调整。下面是每个参数的简要说明:
参数 | 说明 |
---|---|
loglevel=3 | 设置内核打印级别为3 |
selinux=0 | 禁用 SELinux |
audit=1 | 启用系统审计功能 |
rd.systemd.show_status=auto | 启用 Systemd 系统启动状态 |
rd.udev.log_priority=3 | 设置 udev 日志级别为3 |
systemd.unified_cgroup_hierarchy=false | 禁用 Systemd 统一 cgroup 层级 |
systemd.legacy_systemd_cgroup_controller=false | 禁用旧版 Systemd cgroup 控制器 |
scsi_mod.use_blk_mq=1 | 使用多队列 I/O 调度器(blk-mq) |
crashkernel=384M-2G:64M,2G-:128M | 为内核启动设置的保留物理内存大小 |
workqueue.power_efficient=0 | 禁用内核 power_efficient 工作队列优化 |
domain init_on_free=0, init_on_alloc=0 | 禁用 NUMA 内存分配初始化 |
cma=128M | 设置 Contiguous Memory Allocator(CMA)大小 |
vsyscall=none | 禁用 vDSO/vsyscall |
nosoftlockup | 禁用软锁定检测 |
mce=off | 禁用机器检查异常(MCE) |
threadirqs | 启用中断线程(threaded interrupt) |
noresume | 禁用系统挂起功能 |
nmi_watchdog=0 | 禁用 NMI 监视器 |
vt.cur_default=50 | 设置终端 VT 缓冲区大小 |
transparent_hugepage=never | 禁用透明大页(Transparent Huge Pages,THP) |
cgroup_enable=memory | 启用 cgroup 内存限制 |
cgroup_memory=nokmem | 禁用 KSM 和 THP |
swapaccount=1 | 启用交换空间统计 |
nf_conntrack.acct=0 | 禁用 netfilter 连接追踪计数 |
log_buf_len=2M | 设置内核日志缓冲区大小 |
intel_pstate=disable | 禁用 Intel P-state 驱动 |
processor.max_cstate=0 | 禁用处理器 C 状态 |
intel_idle.max_cstate=0 | 禁用 Intel Idle |
thermal.off=1 | 禁用温度传感器 |
pci=realloc | 启用 PCI 设备热插拔支持 |
pcie_aspm=off | 禁用 PCIe ASPM 支持 |
cpufreq.off=1 | 禁用 CPU 频率调节功能 |
idle=halt | 使用 halt 代替 idle |
net.ifnames=0 | 禁用预测命名接口 |
biosdevname=0 | 禁用预测 BIOS 命名接口 |
mitigations=off | 禁用针对特定 CPU 安全漏洞的补丁 |
noibrs | 禁用间接分支预测限制(Indirect Branch Restricted Speculation) |
nopti | 禁用特权级别转换限制(Privilege Level Translation Tables) |
l1tf=off | 禁用 L1 终端失效漏洞(L1 Terminal Fault) |
nomodeset | 禁用内核模式设置 |
nospec_store_bypass_disable | 禁用处理器存储旁路漏洞的修复 |
noibpb | 禁用分支预测条目保护(Indirect Branch Prediction Barrier)。 |
spectre_v2_user=off | 禁用用户空间的漏洞修复 |
spectre_v2=off | 禁用针对 Spectre Variant 2 漏洞的修复 |
kvm-intel.vmentry_l1d_flush=never | 禁用 L1D Flush 特性,减少 L1D Cache 映射切换的开销 |
no_timer_check | 禁用内核检查定时器是否过期,可减少部分系统调用的开销 |
noreplace-smp | 禁用热插拔 CPU |
kvm-intel.nested=1 | 启用 KVM Nested 虚拟化 |
nosync | 禁用 CPU 忙等待 |
iommu.strict=0 | 禁用 IOMMU 严格模式 |
intel_iommu=on | 启用 Intel VT-d IOMMU |
amd_iommu=on | 启用 AMD IOMMU |
cryptomgr.notests | 禁用内核加密 API 的测试模式 |
rcu_nocbs=0-64 | 设置 RCU 操作不会影响 CPU 0 到 CPU 64 之间的性能 |
rcupdate.rcu_expedited=1 | 优先处理 RCU 更新操作,以减少延迟 |
rcutree.kthread_prio=2 | 设置 RCU 的内核线程的优先级为 2 |
skew_tick=1 | 启用 CPU 偏移时钟 |
参考示例
loglevel=3 selinux=0 audit=1 rd.systemd.show_status=auto rd.udev.log_priority=3 systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false scsi_mod.use_blk_mq=1 crashkernel=384M-2G:64M,2G-:128M workqueue.power_efficient=0 domain init_on_free=0, init_on_alloc=0 cma=128M vsyscall=none nosoftlockup mce=off threadirqs noresume nmi_watchdog=0 vt.cur_default=50 transparent_hugepage=never cgroup_enable=memory cgroup_memory=nokmem swapaccount=1 nf_conntrack.acct=0 log_buf_len=2M intel_pstate=disable processor.max_cstate=0 intel_idle.max_cstate=0 thermal.off=1 pci=realloc pcie_aspm=off cpufreq.off=1 idle=halt net.ifnames=0 biosdevname=0 mitigations=off noibrs nopti l1tf=off nomodeset nospec_store_bypass_disable noibpb spectre_v2_user=off spectre_v2=off kvm-intel.vmentry_l1d_flush=never no_timer_check noreplace-smp kvm-intel.nested=1 nosync iommu.strict=0 intel_iommu=on amd_iommu=on cryptomgr.notests rcu_nocbs=0-64 rcupdate.rcu_expedited=1 rcutree.kthread_prio=2 skew_tick=1