第 5 章 对外部内核参数的重要更改
本章为系统管理员提供了与 Red Hat Enterprise Linux 8.4 附带的内核有显著变化的总结。这些更改包括添加或更新的 proc
条目、sysctl
和 sysfs
默认值、引导参数、内核配置选项或者任何可见的行为更改。
5.1. 新内核参数
- bgrt_disable = [ACPI, X86]
- 这个参数禁用引导图形资源表(BGRT)以避免出现 Original Manufacturer(OEM)徽标。
- radix_hcall_invalidate = on [PPC/PSERIES]
- 这个参数禁用 Radix GTSE 功能,并使 Translation Lookaside Buffer(TLB)的 hcall 无效。
- disable_tlbie = [PPC]
- 这个参数禁用 Translation Look-Aside Buffer Invalidate Entry(TLBIE)指令。目前无法使用 KVM、哈希内存管理单元(MMU)或者一致的加速器。
- fw_devlink = [KNL]
这个参数通过扫描固件来推断消费者关系和企业关系,在消费者和企业设备之间创建设备链接。当将驱动程序作为模块加载时,这个功能很有用,因为它确保了类似如下的任务的正确排序:
- 设备探测(首先为供应者,然后是消费者)
- 供应者引导状态清理(仅在所有消费者都探测到后)
挂起、恢复和运行时电源管理(PM)(首先为消费者,然后为供应者)
格式:{ off | permissive | on | rpm }
-
off
- 不从固件信息创建设备链接。 -
permissive
- 从固件信息创建设备链接,但仅将其用于排序引导状态清理(sync_state()
调用)。 -
on
- 从固件信息创建设备链接,并使用它来强制探测并挂起或恢复排序。 -
rpm
- 类似于on
,但也用于排序运行时 PM。
默认值为 permissive
。您可以检查 /proc/cmdline
文件中配置的值。
- init_on_alloc = [MM]
这个参数使用零填充新分配的页面和堆对象。
格式: 0 | 1
默认由 kernel
CONFIG_INIT_ON_ALLOC_DEFAULT_ON
配置设置- init_on_free = [MM]
该参数使用零填充空页面和堆对象。
格式: 0 | 1
默认由
CONFIG_INIT_ON_FREE_DEFAULT_ON
设置- nofsgsbase [X86]
- 这个参数禁用 FSGSBASE 指令。
- nosgx [X86-64,SGX]
- 这个参数禁用 Intel Software Guard Extensions(SGX)内核支持。
- rcutree.rcu_min_cached_objs = [KNL]
-
每个 CPU 缓存和维护的最小对象数量。对象大小等于
PAGE_SIZE
。缓存可以降低页面分配器的压力。它还可使整个算法在内存不足的情况下更好地工作。 - rcuperf.kfree_rcu_test = [KNL]
-
此参数用于测量
kfree_rcu()
函数的洪灾性能。 - rcuperf.kfree_nthreads = [KNL]
-
运行
kfree_rcu()
循环的线程数量。 - rcuperf.kfree_alloc_num = [KNL]
- 迭代中分配和释放的数量。
- rcuperf.kfree_loops = [KNL]
-
进行
rcuperf.kfree_alloc_num
个分配和释放的循环的数量。 - rcupdate.rcu_cpu_stall_ftrace_dump = [KNL]
-
这个参数在报告 Read-copy-update(RCU)CPU 停止警告后,转储
ftrace
缓存。 - nopvspin = [X86,KVM]
-
这个参数使用 Para-virtualization(PV)优化禁用
qspinlock
慢路径。这可以使虚拟机监控程序在锁定竞争时"闲置"客户端。