参数说明
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