9.3.4. 複数のコンテナーを独立した CPU に分散する
分離された CPU 間で複数のコンテナーを実行するには、--cpuset-cpus オプションを使用して、各コンテナーが使用する CPU を指定できます。これにより、負荷が複数の分離された CPU に分割され、パフォーマンスが向上し、競合が減少します。
isolcpus セットを複数のコンテナーに分割することで、以下のタスクをシミュレートできます。
- レイテンシーに敏感なタスクの同時実行。
- パーティショニングされたシステム全体にわたる複数の負荷。
9.3.4.1. レイテンシーに敏感なタスクの同時実行シミュレーション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
レイテンシーに敏感なタスクの同時実行をシミュレーションするには、各コンテナーに特定の分離された CPU を割り当てることができます。次の例は、異なる CPU セット間でコンテナーを設定して実行する方法を示しています。
1 つのコンテナーを CPU 0 - 6 で実行し、別のコンテナーを CPU 7 - 28 で実行し、3 つ目のコンテナーを CPU 29 - 47 で実行します。以下のコマンドを使用します。
$ podman run -it --rm --privileged --pids-limit=0 --cpuset-cpus 0-6 registry.redhat.io/rhel10/rteval \
/bin/bash -c 'rteval --duration 2h --onlyload --loads-cpulist 0-6'
$ podman run -it --rm --privileged --pids-limit=0 --cpuset-cpus 7-28 registry.redhat.io/rhel10/rteval \
/bin/bash -c 'rteval --duration 2h --onlyload --loads-cpulist 7-28'
$ podman run -it --rm --privileged --pids-limit=0 --cpuset-cpus 29-47 registry.redhat.io/rhel10/rteval \
/bin/bash -c 'rteval --duration 2h --onlyload --loads-cpulist 29-47'