6.9. 内核
RHEL 10.0 中的内核版本
Red Hat Enterprise Linux 10.0 与内核版本 6.12.0 一起发布。
现在支持动态 EFIVARS
pstore 后端
使用此版本,您可以在运行时动态启用 EFIVARS
pstore 后端,来有效地管理系统存储。
在以前的版本中,pstore 存储后端需要重启才能修改其配置。使用此版本,您可以在支持的后端(如 NVMe
和 EFIVARS
)间切换,而无需重启系统。
另外,pstore 日志记录中的增强功能使当前活动后端的指示更加清晰。
如果您的系统上没有注册 pstore 后端,请为 UEFI 引导启用 efi_pstore
:
echo "N" > /sys/module/efi_pstore/parameters/pstore_disable
# echo "N" > /sys/module/efi_pstore/parameters/pstore_disable
[ 90.116913] pstore: Using crash dump compression: deflate
[ 90.118433] pstore: Registered efi_pstore as persistent store backend
Jira:RHELDOCS-19988[1]
rteval
工具的容器化
使用此更新,您可以从通过 Quay.io 容器注册中心公开获得的容器镜像运行带有其所有运行时依赖项的 rteval
工具。您可以:
-
享受部署灵活性,而旧的 RHEL 版本可以获得较新版本的
rteval
。 - 创建一个隔离环境,以确保性能评估不会中断其他系统进程或消耗过量资源。
-
在同一或多个主机上运行多个
rteval
实例。 -
将特定的系统资源分配给
rteval
,确保更好的资源使用控制。
或者,您可以使用相关的 Docker 文件构建带有 rteval
的自己的容器镜像。此 Docker 文件位于上游存储库中,并作为源 RPM (SRPM)的一部分提供。
Jira:RHEL-28059[1]
在 rtla-timerlat
测试过程中在本地禁用 CPU 空闲状态的新选项:deepest-idle-state
deepest-idle-state
的参数是最深允许的空闲状态数。如果参数中的值为 -1 ,则它禁用所有空闲状态。在 rtla-timerlat
中,而不是使用 /dev/cpu_dma_latency
来全局禁用处于空闲状态的 CPU,添加了 deepest-idle-state
选项来为正在运行测量的 CPU 设置最深允许的空闲状态。
因此,您可以在 rtla-timerlat
测试期间节省电力,并反映实时工作负载,并使用 deepest-idle-state
而不是使用 /dev/cpu_dma_latency
来全局禁用它们。
Jira:RHEL-40744[1]
Deadline (DL)服务器为 CFS 任务实现一个两阶段调度程序
RHEL 10 引入了一个新的内核内 Deadline(DL)服务器,它实现了一个两阶段调度程序。它为完全公平调度程序(CFS)任务提供了保证的执行时间,从而减轻了由 Real Time (RT)或 Deadline (DL)任务导致的潜在饥饿。
新的 DL 服务器,以 deadline 优先级运行,每 1 秒调度一次 CFS 任务,为执行分配一个初始 50 毫秒的运行时窗口。这确保 CFS 任务收到定期 CPU 时间,即使被更高优先级 RT 或 DL 任务抢占时。可以使用 /sys/kernel/debug/sched/fair_server/cpu*/{runtime, period}
根据每个 CPU 来调整 runtime 和 period 参数。设置 0
运行时将禁用指定 CPU 的 DL 服务器。
DL 服务器消除了对外部工具(如 stallD
)的需要,来防止饥饿,并消除了对此类工具的手动配置和调优的要求。
这为直接在内核中调度的 CFS 任务提供了一个强大的、集成的且透明的解决方案。
Jira:RHEL-58211[1]
发布了 Landlock,一个新的 Linux 安全模块(LSM)
RHEL 10.0 引入了 Landlock,它是一个新的使您的容器更安全的安全功能。Landlock 为 Podman 等进程设置严格的规则,以便通过内核 API 限制对文件系统的访问,无论权限级别如何定义规则,并允许用户在进程可访问的范围内创建硬限制。
使用 Landlock,您可以构建可减轻与错误配置或恶意针对的进程相关的潜在风险的程序。这使得容器和整个系统更加安全。
Jira:RHEL-40283[1]
现在支持 rh_waived
内核命令行引导参数
使用此版本,支持 rh_waived
内核命令行引导参数。rh_waived
用于在 RHEL 中启用豁免功能。豁免功能是被视为不需要维护、不安全、基本或已弃用的内核功能。这些功能默认在 RHEL 10 中被禁用。要使用豁免功能,您必须手动启用它们。
Jira:RHEL-26170[1]
新的 timerlat-interval INTV_US
和 cyclictest-interval INTV_US
选项
有了这个增强,您可以使用 rteval
命令的以下新选项来修改运行 timerlat
或 cyclictest
线程中的基础或定期间隔选项:
-
timerlat-interval INTV_US
-
cyclictest-interval INTV_US
请注意,如果您没有将其中一个选项与 rteval
一起使用,则会应用默认值。
Jira:RHEL-67424[1]
使用 cyclictest
对延迟测试在本地禁用空闲状态的新选项
-
cyclictest
工具默认将/dev/cpu_dma_latency
设置为 0,以避免从空闲状态唤醒时增加延迟,这会禁用所有 CPU 上的空闲状态。 -
新的
deepest-idle-state
选项只禁用被选为进行测试的 CPU 上的空闲状态。参数指定最深允许的空闲状态,将其设置为-1
会禁用测量的 CPU 上的所有空闲状态。 -
使用
cyclictest
进行调优应该会反映实时工作负载测试,因此使用deepest-idle-state
而不是使用/dev/cpu_dma_latency
来禁用 CPU 空闲状态反映了一个用例,其中实时工作负载仅禁用运行的 CPU 上的空闲状态。 -
因此,解决所有用例的
cyclictest
覆盖范围增加了,而功耗降低了。
Jira:RHEL-65488[1]
验证 kdump
过程以防止系统失败的新的集成测试
有了这个增强,您可以在任何软件或硬件更新后检查 kdump
进程的日志文件,以防止系统失败。在分析输出日志文件后,配置条目(如 memory issues
或 blacklist of some drivers
)已被修正,以验证 kdump
过程,并生成 vmcore
。这确保在任何软件或硬件更新后,在系统崩溃之前,kdump
过程已被验证和修正。
Jira:RHEL-29941[1]