内核优化参数之2-网友的内核引导参数

参数说明

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
Published At
Tagged with