コンテナでプロセッサの好みを実装する方法は?

コンテナでプロセッサの好みを実装する方法は?

kubernetesを使用すると、特定のワークロードにノードの好みを設定できることがわかりました。さまざまなコンテナテクノロジ(ドッカー、ロケットなど)にプロセスをコアに固定する機能があるかどうか疑問に思います。それとも、マルチテナント環境でこれは可能ですか?おそらくこれはベアメタル設定を意味するのでしょうか?

答え1

システムが対称的なマルチプロセッシング(SMP)と複数の物理CPU、CPUコア、および論理CPUのいくつかの組み合わせをサポートしている場合は、Dockerコンテナを特定のCPUリソースに割り当てることができます。

CPUおよびDockerコンテナに関するコマンド例

ここに示す例では、docker runコマンドを使用してコンテナを作成するときにmycontainer Dockerコンテナを特定のCPUリソースに割り当てる方法について説明します。コマンドを実行するときは、環境に合わせてDockerコンテナ名とCPUコンポーネント番号を変更する必要があります。

このコマンドは、mycontainer Dockerコンテナを最初のCPU(CPU0)に割り当てます。

# docker run --cpuset 0 /bin/bash mycontainer

複数のCPUを指定できます。このコマンドは mycontainer Docker コンテナを CPU 0 と 1 に割り当てます。

# docker run --cpuset 0,1 /bin/bash mycontainer

CPUの範囲を指定できます。このコマンドは、mycontainer Docker コンテナを CPU 0、1、2 に割り当てます。

# docker run --cpuset 0-2 /bin/bash mycontainer

関連情報