第 4 章 对外部内核参数的重要更改
本章为系统管理员提供了与 Red Hat Enterprise Linux 10.1 一起分发的内核有显著变化的总结。这些更改包括添加或更新的 proc 条目、、和 sysctlsysfs 默认值、引导参数、内核配置选项或任何可见的行为更改。
新内核参数
indirect_target_selection=
[X86, Intel] 对 Intel CPU 上的 Indirect Target Selection (ITS)问题控制。IBPB 修复需要更新的 microcode。
值:
on(默认)- 启用缓解。
off- 禁用缓解方案。
force- 强制 ITS 错误状态并部署默认的缓解措施。
vmexit- 仅为客户机/主机隔离部署缓解。
stuff- 部署 retpoline 时,请使用 RSB-fill;否则使用默认的缓解方案。
请参阅: Documentation/admin-guide/hw-vuln/indirect-target-selection.rst。
sdw_mclk_divider=
[SDW, Intel] 当 BIOS 没有正确提供时钟率时,为 Intel SoundWire 总线指定 MCLK 划分器。
thp_shmem=
[KNL, MM] 控制内部 shmem 挂载的每个大小的默认巨页策略。
格式:
<size>[KMG]<size>[KMG]:<policy>;<size>[KMG]-<size>[KMG]:<policy>
策略: 始终将、继承、永不、in_size、建议.
您可以多次指定此项来为多个 THP 大小设置策略。请参阅: Documentation/admin-guide/mm/transhuge.rst。
transparent_hugepage_shmem=
[KNL, MM] 控制内部 shmem 挂载的巨页分配策略。
值: 始终是,within_size,advise,never,deny,force.请参阅: Documentation/admin-guide/mm/transhuge.rst。
tsa=
[X86, AMD] 控制缓解 AMD CPU 中的 Transient Scheduler Attacks。
值:
off- 禁用缓解。
on(默认)- 启用缓解措施。
user- 仅缓解用户/内核转换。
vm- 仅缓解客户机/主机转换。
有关指南,请参阅厂商文档以了解临时调度程序攻击。
更新的内核参数
init=
[KNL] Format: <full_path > 将指定的二进制文件而不是 /sbin/init 作为系统 init 进程运行。
intremap=
[X86-64, Intel-IOMMU, EARLY]
值:
on- 启用中断重新映射(默认)。
off- 禁用中断重新映射。
kvm-arm.mode=
[KVM, ARM, EARLY] 选择 Arm KVM 虚拟化模式。
值:
nvhe- 基于 nVHE 的标准模式,无需受保护的客户机.
受保护-
根据硬件支持,支持主机中带有私有状态的客户机,使用 VHE 或 nVHE。在主机上禁用 kexec 和休眠。要在 VHE 硬件上强制 nVHE,将
arm64_sw.hvhe=0 id_aa64mmfr1.vh=0添加到命令行。 嵌套- 基于 VHE 的模式和嵌套虚拟化。需要 Armv8.4 硬件(FEAT_NV2)。试验性;非常谨慎使用。默认为基于硬件支持的 VHE 或 nVHE。
kvm-arm.vgic_v3_group0_trap=
[KVM, ARM, EARLY] Trap 客户机访问 GICv3 group-0 注册到主机,以便更严格的隔离和调试。
libata.force=
[SATA/ATA] Per-port 选项:
- New:
external -
将端口标记为外部(支持热插拔)。其他选项仍可用(例如
max_sec_lba48,[no]lpm,[no]setxfer)。
nohz
[KNL] 在单个任务运行时禁用 tick,并卸载其他内核工作,如 RCU 回调。等同于 nohz_full。一个 reidual 1 Hz tick 被卸载到 workqueues;通过全局工作队列 CPU 掩码将把它们限定给内务 CPU。另请参阅 rcu_nocbs= 和 isolcpus=。
pci=
[PCI] ACS 配置示例包括设备选择器: pci=config_acs=10x@pci:0:0:: Configure supported devices to enable P2P Request Redirect, disable Translation Blocking, and leave Source Validation unchanged as the specified device path。
pcie=
[PCIE] New wide flag: notph:: Disable PCIe TLP Processing Hints 在启用了 CONFIG_PCIE_TPH 时支持。
pcie_aspm=
[PCIE] Forcibly 启用或禁用 PCIe Active State Power Management。行为保持不变;根据需要与 pcie= 标志一起使用。
preempt=
[KNL, Scheduler] 抢占控制模式。新特性: lazy:: Scheduler 控制模式,类似于 full。该任务在调度程序强制抢占之前获得一个 HZ 勾号。当任务返回到用户空间时,会计算抢占。
print-fatal-signals=
[KNL] 为致命信号启用调试输出。
skew_tick=
[KNL, EARLY] Offset 每个 CPU 的定期计时器空循环,以减少大型系统和 CONFIG_MAXSMP 中的竞争。
slub_debug=
[MM] SLUB 分配器调试; slub_nomerge 保留一个传统的别名。请参阅 Documentation/mm/slub.rst。
spectre_v2=
[X86] 选择特定的缓解方案不会强制启用用户空间缓解方案。选择 on 启用内核保护并缓解用户对用户的任务攻击。选择 off 会同时禁用。
tsc=
[X86] 禁用 TSC 的时钟源稳定性检查。
值:
可靠- 将 TSC 时钟源标记为可靠。
noirqtime- 不要将 TSC 用于 IRQ 核算。
不稳定- 将 TSC 时钟源标记为不稳定。
nowatchdog- 禁用 clocksource watchdog。
recalibrate- 如果 TSC 频率来自 MSR 或 CPUID (0x15),则 Recalibrate 针对 HPET 或 PM 计时器;如果差异超过 500 ppm,则警告。
watchdog- 在 TSC 值得信任的系统中,使用 TSC 作为 watchdog 时钟源。
注意:以前的 tsc=nowatchdog 会阻止 watchdog。稍后的 tsc=nowatchdog 覆盖它;内核会记录任何阻止或覆盖。
transparent_hugepage_shmem=
[KNL, MM] 值: always,within_size,advise,never,deny,force.控制内部 shmem 挂载策略。请参阅 Documentation/admin-guide/mm/transhuge.rst。
mitigations=
[multi-arch] 选择 off 会禁用一组内核和用户空间缓解方案。equivalence 列表现在在 X86 上包括 indirect_target_selection=off,除了现有条目,如 Arm64, gather_data_sampling=off,kvm.nx_huge_pages=off,l1tf=off,mds=off, 和相关的 X86 标志。
更新了 sysctl 参数
timer_migration
当设置为非零值时,内核会尝试将计时器从空闲 CPU 中移出,以帮助这些 CPU 处于低功耗状态。
默认: 1 (启用)。