9.3.3. 在实时配置集中调整每个 NUMA 的内务操作


您可以在实时配置集中调整每个 NUMA 节点设置的内务 CPU。这通过确保内务务任务在 NUMA 节点之间平均分配,从而优化系统性能。

这对具有多个 NUMA 节点的系统特别有用,因为它有助于减少争用并改进整体性能。

默认 realtime tuned 配置集为每个 NUMA 节点保留一个内务 CPU (hk_per_numa=1)。如果需要更多可用于容器工作负载的 CPU,您可以修改此行为。

先决条件

  • 主机在 Red Hat Enterprise Linux 9.6 或更高版本中运行。
  • tuned 服务正在运行。
  • rteval 容器已安装并运行。
  • podman 服务正在运行。
  • 已安装 tuned-profiles-realtime 软件包。

流程

  1. 修改 realtime-variables.conf 文件,以调整每个 NUMA 节点设置的内务 CPU。

    • 在文本编辑器中打开位于 /etc/tunedrealtime-variables.conf 文件:

      $ sudo vi /etc/tuned/realtime-variables.conf
    • 找到 isolated_cores 变量。默认情况下,这设置为 1,这意味着每个 NUMA 节点保留了一个内核,用于隔离或非内部维护。您可以增加这个值,但它必须小于每个 NUMA 节点的 CPU 总数。

      以下示例将每个 NUMA 节点有 24 个内核的系统中将 isolated_cores 设置为 3

      isolated_cores=${f:calc_isolated_cores:3}
  2. 保存您的更改并关闭该文件。
  3. 重新应用 tuned 实时配置集:

    $ sudo tuned-adm profile realtime

    这会导致测试过程中产生 6 个 CPU (每个 NUMA 节点 3)生成负载,而系统则保留了 isolcpus 集的剩余内核。此配置用于测量。在某些情况下,混合优先级配置可能会在自定义拓扑上部署容器,而不是在设置 isolcpus 上。

    或者,您可以手动指定自定义 CPU 范围,而不依赖于每个节点的自动计数。这样可确保对隔离内核的完整控制,从而更易于使用非统一拓扑或专用 CPU 布局调整系统。

验证

  1. 验证 realtime-variables.conf 文件中的更改。
  2. 重启系统以应用更改。
  3. 查看 /proc/cmdline 文件,以确认 isolcpus 设置:

    $ cat /proc/cmdline
    BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.XX.X-XX.X.X.el9_6.x86_64+rt root=/dev/mapper/rhel_rt--qe--11-root ro  crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=UUID=00cbf36d-ffaa-4285-a381-5c1d868eb3e3 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,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
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部