cpuset を 1 コアに指定して、1 つの Docker コンテナーを開始しました。
docker run --cpuset-cpus="0"...
cpuset を 4 コアに指定して 2 つ目:
docker run --cpuset-cpus="0-3"...
各コンテナー内でロード プロセスを開始し、両方のコンテナーの CPU 消費量を監視しました。
ロード プロセスは次のようになります。
ffmpeg input > output
私は、両方のコンテナ間の実行時間に関して改善がないことを観察しました (スピードアップなし)。
改善されない理由がわかりませんか?4 コアのコンテナーは、1 コア コンテナーよりも高速に実行する必要があります。
注意: 1core コンテナーに top を使用する
CPU0%=100%
CPU1%=0
CPU2%=0
CPU3%=0
4core コンテナーに top を使用すると、docker は 4 つのコアのいずれかをランダムに選択してプロセスを起動します。場合によってはコアごとに 30% 影響します
CPU0%=0 CPU0%=30% CPU0%=0
CPU1%=100% or CPU0%=30% or CPU0%=0
CPU2%=0 CPU0%=30% CPU0%=0
CPU3%=0 CPU0%=30% CPU0%=100%