17.2. RHEL for Real Time 内核的显著变化


在 ARM、AMD 和 Intel 64 位构架上启用了动态抢占调度

使用动态调度时,您可以在引导或运行时,而不是在编译时间更改内核的抢占模式。通过动态抢占处理,您可以覆盖默认的抢占模型,以改进调度延迟。

/sys/kernel/debug/sched/preempt 文件包含了支持运行时修改的当前设置。使用 DYNAMIC_PREEMPT 选项,将启动时的 preempt= 变量设为 nonevoluntaryfullvoluntary 抢占是默认值。

tuna 工具中添加了一个新的命令行界面

tuna 工具现在提供了一个命令行界面,它包括更标准化的命令菜单和更易于使用和维护的选项。新的命令行界面基于 argparse 解析模块。使用这个增强,您可以执行以下任务:

  • 更改应用程序和内核线程的属性。
  • 根据名称或号对中断请求(IRQ)进行操作。
  • 使用进程标识符对任务或线程进行操作。
  • 使用 CPU 或套接字号指定 CPU 和 CPU 集。

通过使用 tuna -h 命令,您可以打印命令行参数及其相应的选项。对于每个命令,有一些可选参数,您可以使用 tuna [command] -h 命令查看它们。

为于实时内核提供了运行时验证机制

运行时验证是一种轻量级且严格的方法,来检查系统事件及其正式规范之间的行为等效性。运行时验证有集成在附加到 tracepoints 的内核中的监控。如果状态偏离了定义的规范,则运行时验证程序会激活响应器,以通知或启用诸如在日志文件或系统关闭时捕获事件的响应,以避免在极端情况下故障的传播。

如需更多信息,请参阅 为实时低延迟操作优化 RHEL 9

CONFIG_RT_GROUP_SCHED 在 RHEL 9 中已禁用

在 RHEL 8 中,默认控制组是 cgroup v1,您可以使用控制文件(例如 /sys/fs/cgroup/cpu,cpuacct/cpu.rt_period_us/sys/fs/cgroup/cpu,cpuacct/cpu.rt_runtime_us)在每个 cgroup 基础上为实时任务指定 CPU 带宽。但是,在 RHEL 9 中,CONFIG_RT_GROUP_SCHED 内核配置选项被禁用,因为 cgroup v2 是默认的控制组,而 cgroup v2 CPU 控制器的等效控制文件不存在。请注意,/proc/sys/kernel/sched_rt_runtime_us/proc/sys/kernel/sched_rt_period_us 全局设置仍然可用,您可以通过 stalld 后台进程使用它们,以防止 CPU 时间不足。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat