9.3. 使用容器放置优化 CPU 性能
使用实时配置集调整主机后,您可以通过选择将容器放置到特定 CPU 并调整容器运行时行为来进一步优化性能。使用这些策略,您可以探索 CPU 隔离和 cgroup 配置如何影响容器化工作负载中的延迟。
9.3.1. 在所有 CPU 上运行 podman 复制链接链接已复制到粘贴板!
要使用 rteval 容器运行 podman,请使用 tuned realtime 配置集或自定义系统调整来调优您的系统。确定您是否需要对您要测量的场景进行 CPU 隔离。确保正确配置了 CPU 隔离,以避免在某些情况下运行容器时出现问题。
检查 /proc/cmdline 中的 isolcpus= 参数。如果没有设置 isolcpus,您的系统不会隔离任何 CPU,您可以在所有 CPU 上运行容器。
先决条件
-
/proc/cmdline中的isolcpus=参数设为在所有 CPU 之间运行容器。 - 主机在 Red Hat Enterprise Linux 10 或更高版本上运行。
-
podman服务正在运行。 -
rteval容器已安装并运行。
流程
登录到
podmanregistry:$ podman login registry.redhat.io运行
rteval容器。选择以下方法之一来运行容器:在单个 NUMA 节点框中的所有 CPU 上:
$ podman run -it --rm --privileged --pids-limit=0 registry.redhat.io/rhel10/rteval \ /bin/bash -c 'rteval --duration 2h'在多 NUMA 节点机器中:
$ podman run -it --rm --privileged --pids-limit=0 registry.redhat.io/rhel10/rteval \ /bin/bash -c 'rteval --duration 2h --loads-cpulist 0,1 --measurement-cpulist 2-47--pids-limit=0-
kcompile可在不达到容器运行时的默认限制的情况下运行。kcompile是一个命令行工具,用于为当前运行的内核编译内核模块,而无需重建整个内核。 --privileged容器可以访问主机系统上的所有设备。这是
rteval正确运行所必需的。这些命令在所有可用节点上运行单个容器。
tuned服务管理主机性能优化,可让您在仅使用单个 CPU 时评估裸机性能。
验证
在新终端中,列出所有包括
rteval容器的容器,以确保它正确运行:$ podman ps -a