- 03-5820-1777平日10:00〜18:00
- お問い合わせ
今回はDocker Composeを使ってDockerコンテナへのCPUとメモリの使用率の設定を試してみたいと思います。
試行環境
Windows10 Enterprise
Docker Desktop 4.0.1
CPUの使用率を設定して、簡単なプログラムを作成し速度を計測してみたいと思います。
Centosのコンテナを作成し、その中でシェルを実行します。
version: '3.8'
services:
web:
build:
context: ./docker
dockerfile: Dockerfile
container_name: "centos"
ports:
- 80:80
volumes:
- "./html:/var/www/html"
privileged: true
deploy:
resources:
limits:
cpus: '0.5' ※
上記の※部分の値を変更します。
time for i in {1..1000000} ; do
echo ${i}
done > /dev/null
上記のループを100万回実行するプログラムで速度計測をします。
CPU使用率 | 速度(秒) |
---|---|
1 | 3.67 |
0.5 | 7.54 |
CPU使用率を1と0.5で試行し1の方が速くなっていたので、設定が有効になってる事が確認できました。
メモリ使用限度を設定し、適切に設定されているかSTATSで確認してみたいと思います。
Dockerを起動してしているOSのメモリ状況
version: '3.8'
services:
web:
build:
context: ./docker
dockerfile: Dockerfile
container_name: "centos"
ports:
- 80:80
volumes:
- "./html:/var/www/html"
privileged: true
deploy:
resources:
limits:
cpus: '1'
memory: 1.5g ※
上記の※部分の値を変更します。
指定しない場合
指定なしのコンテナ状況を「docker stats」で確認すると上記のようにメモリ使用上限(LIMIT)がOSのメモリと同等となっています。
指定した場合
docker-compose.ymlに1.5gを指定してみます。
1.5gを指定した場合はメモリ使用上限(LIMIT)が指定されてる通りになっています。
これで正常に設定されてる事が確認できました。
以上、DockerコンテナへのCPU、メモリ使用限度が正常に設定できるか検証してみました。