9.3.2. 运行带有分割 CPU 分配的 podman
您可以将不同的容器分配给不同的 CPU 集,以测试负载分离和测量。例如,当只有一个 NUMA 节点且您想要将负载和测量分隔到容器中时,您可以运行两个不同的容器。在这种情况下,两个容器都在每个 CPU 上运行,且没有分区用于调整。
示例命令:
加载容器 :
$ podman run -it --rm --privileged --pids-limit=0 registry.redhat.io/rhel10/rteval \ /bin/bash -c 'rteval --duration 2h --onlyload'测量容器 :
$ podman run -it --rm --privileged --pids-limit=0 registry.redhat.io/rhel10/rteval \ /bin/bash -c 'rteval --duration 2h --onlymeasure'
对于在有多个 NUMA 节点或手动分区机器的框上分区的情况,示例命令有:
加载容器 :
$ podman run -it --rm --privileged --pids-limit=0 --cpuset-cpus 0,1 registry.redhat.io/rhel10/rteval \ /bin/bash -c 'rteval --duration 2h --onlyload --loads-cpulist 0,1'测量容器 :
$ podman run -it --rm --privileged --pids-limit=0 --cpuset-cpus 2-47 registry.redhat.io/rhel10/rteval \ /bin/bash -c 'rteval --duration 2h --noload --measurement-cpulist 2-47'
运行这些命令后,加载容器会在内务核上生成负载,而测量容器则在 isol_cpu 集上运行。
如果没有配置分区,则一个容器会在系统上的所有 CPU 之间生成负载,另一个容器会在所有节点上测量延迟。
在这两种情况下,负载和测量会在两个容器之间成功分开。