第 9 章 使用 rteval 容器进行实时任务执行
Red Hat Enterprise Linux (RHEL) for Real Time 中的 rteval (实时评估)容器可确保关键任务的低延迟执行。它测量各种系统负载下的计时器唤醒时间,以保持实时响应并确保及时的任务执行。
rteval 工具将测量过程(使用 cyclictest 或 rtla)设置为高优先级任务。这种测量进程的优先级高于计算机上生成的负载。因此,rteval 容器会测量不同负载下实时任务的唤醒时间,确保系统可以有效地处理实时工作负载。
9.1. 为 rteval 容器测试主机 复制链接链接已复制到粘贴板!
要在对延迟敏感的工作负载上运行 rteval 容器,您必须调整主机机器,因为容器技术不需要虚拟化堆栈中的其他内核。大多数适用于裸机的调优策略也适用于容器环境。
您必须使用 tuned-adm 及 文件中定义的默认参数来应用 realtime 配置集。
realtime -variables.conf
realtime 配置集执行以下任务:
- 设置各种内核命令行选项。
- 检测非统一内存访问(NUMA)拓扑。
-
当存在多个 NUMA 节点时,将除每个节点的第一个 CPU 之外的所有 CPU 分配给
isolcpus设置。
为 rteval 容器配置主机机器。
先决条件
- 主机在 Red Hat Enterprise Linux 9.6 及更新版本中运行。
-
已安装
tuned和tuned-profiles-realtime软件包。 -
tuned服务正在运行。 -
podman应用程序已安装并运行。
流程
安装所需的软件包:
sudo dnf install rteval kernel-rt podman -y
$ sudo dnf install rteval kernel-rt podman -yCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看安装的内核:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Real Time 内核设置为默认内核:
select a in /boot/vmlinuz-*rt*; do grubby --set-default=$a; break; done
$ select a in /boot/vmlinuz-*rt*; do grubby --set-default=$a; break; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
tuned-adm应用realtime配置集:sudo tuned-adm profile realtime
$ sudo tuned-adm profile realtimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重启主机机器:
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证内核版本和调优参数:
sudo uname -r 5.XX.0-XX.X.X.el9_6.x86_64+rt
$ sudo uname -r 5.XX.0-XX.X.X.el9_6.x86_64+rtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
$ 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 nosoftlockupCopy to Clipboard Copied! Toggle word wrap Toggle overflow