第 9 章 使用 rteval 容器进行实时任务执行


Red Hat Enterprise Linux (RHEL) for Real Time 中的 rteval (实时评估)容器可确保关键任务的低延迟执行。它测量各种系统负载下的计时器唤醒时间,以保持实时响应并确保及时的任务执行。

rteval 工具将测量过程(使用 cyclictestrtla)设置为高优先级任务。这种测量进程的优先级高于计算机上生成的负载。因此,rteval 容器会测量不同负载下实时任务的唤醒时间,确保系统可以有效地处理实时工作负载。

9.1. 为 rteval 容器测试主机

要在对延迟敏感的工作负载上运行 rteval 容器,您必须调整主机机器,因为容器技术不需要虚拟化堆栈中的其他内核。大多数适用于裸机的调优策略也适用于容器环境。

您必须使用 tuned-adm realtime -variables.conf 文件中定义的默认参数来应用 realtime 配置集。

realtime 配置集执行以下任务:

  • 设置各种内核命令行选项。
  • 检测非统一内存访问(NUMA)拓扑。
  • 当存在多个 NUMA 节点时,将除每个节点的第一个 CPU 之外的所有 CPU 分配给 isolcpus 设置。

rteval 容器配置主机机器。

先决条件

  • 主机在 Red Hat Enterprise Linux 9.6 及更新版本中运行。
  • 已安装 tunedtuned-profiles-realtime 软件包。
  • tuned 服务正在运行。
  • podman 应用程序已安装并运行。

流程

  1. 安装所需的软件包:

    $ sudo dnf install rteval kernel-rt podman -y
    Copy to Clipboard Toggle word wrap
  2. 查看安装的内核:

    $ sudo grubby --info=ALL
    index=0
    kernel="/boot/vmlinuz-5.XX.0-XX.X.X.el9_6.x86_64+rt"
    args="ro crashkernel=2G-64G:256M,64G-:512M resume=UUID=3e14acf4-a359-4045-b8fc-990ff83743ec rd.lvm.lv=rhel_rt-qe-11/root rd.lvm.lv=rhel_rt-qe-11/swap console=ttyS0,115200n81 $tuned_params"
    root="/dev/mapper/rhel_rt--qe--11-root"
    initrd="/boot/initramfs-5.XX.0-XX.X.X.el9_6.x86_64+rt.img $tuned_initrd"
    title="Red Hat Enterprise Linux (5.XX.0-XX.X.X.el9_6.x86_64+rt) 9.6 (Plow)"
    id="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-5.XX.0-XX.X.X.el9_6.x86_64+rt"
    index=1
    kernel="/boot/vmlinuz-5.XX.0-XX.X.X.el9_6.x86_64"
    args="ro crashkernel=2G-64G:256M,64G-:512M resume=UUID=3e14acf4-a359-4045-b8fc-990ff83743ec rd.lvm.lv=rhel_rt-qe-11/root rd.lvm.lv=rhel_rt-qe-11/swap console=ttyS0,115200n81 $tuned_params"
    root="/dev/mapper/rhel_rt--qe--11-root"
    initrd="/boot/initramfs-5.XX.0-XX.X.X.el9_6.x86_64.img $tuned_initrd"
    title="Red Hat Enterprise Linux (5.XX.0-XX.X.X.el9_6.x86_64) 9.6 (Plow)"
    id="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-5.XX.0-XX.X.X.el9_6.x86_64"
    index=2
    kernel="/boot/vmlinuz-0-rescue-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    args="ro crashkernel=2G-64G:256M,64G-:512M resume=UUID=3e14acf4-a359-4045-b8fc-990ff83743ec rd.lvm.lv=rhel_rt-qe-11/root rd.lvm.lv=rhel_rt-qe-11/swap console=ttyS0,115200n81"
    root="/dev/mapper/rhel_rt--qe--11-root"
    initrd="/boot/initramfs-0-rescue-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.img"
    title="Red Hat Enterprise Linux (0-rescue-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) 9.6 (Plow)"
    id="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-0-rescue"
    Copy to Clipboard Toggle word wrap
  3. 将 Real Time 内核设置为默认内核:

    $ select a in /boot/vmlinuz-*rt*; do grubby --set-default=$a; break; done
    Copy to Clipboard Toggle word wrap
  4. 使用 tuned-adm 应用 realtime 配置集:

    $ sudo tuned-adm profile realtime
    Copy to Clipboard Toggle word wrap
  5. 重启主机机器:

    $ sudo reboot
    Copy to Clipboard Toggle word wrap

验证

  1. 验证内核版本和调优参数:

    $ sudo uname -r
    5.XX.0-XX.X.X.el9_6.x86_64+rt
    Copy to Clipboard Toggle word wrap
    $ sudo cat /proc/cmdline
    BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.XX.0-XX.X.X.el9_6.x86_64+rt root=/dev/mapper/rhel_rt--qe--11-root ro crashkernel=2G-64G:256M,64G-:512M resume=UUID=3e14acf4-a359-4045-b8fc-990ff83743ec rd.lvm.lv=rhel_rt-qe-11/root rd.lvm.lv=rhel_rt-qe-11/swap console=ttyS0,115200n81 skew_tick=1 tsc=reliable rcupdate.rcu_normal_after_boot=1 isolcpus=managed_irq,domain,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47 intel_pstate=disable nosoftlockup
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部