Containers aren't complete virtual machines。いくつかのカーネルリソースは、ホスト上でのように表示されます。
この場合、--cpuset-cpus=0
は、コンテナが参照できるリソースではなく、コンテナcgroupがアクセスできるリソースを変更します。検証する
一つの方法は、容器にstress-ng
ツールを実行することです:1つのCPUを使用して
は、あなたが使用しているもののツールに応じて、使用中の1コア(1月3日コア、100%または33%で固定されます):これは、3(3/3コア、300%/ 100%)を使用する
docker run --cpuset-cpus=0,2 deployable/stress -c 3
:
docker run --cpuset-cpus=0 deployable/stress -c 3
これは2つのコア(2/3コア、200%/ 66%)を使用します:
の
docker run deployable/stress -c 3
メモリの制限が
$ docker run -m 64M busybox free -m
total used free shared buffers cached
Mem: 3443 2500 943 173 261 1858
-/+ buffers/cache: 379 3063
Swap: 1023 0 1023
yamaneks answerがgithub issue含まれるカーネルの統計情報に表示されていない別の領域です。
これはおかげです@Matt – user3398900