コラム

[Docker]DockerコンテナのCPUメモリ使用限度の設定

今回はDocker Composeを使ってDockerコンテナへのCPUとメモリの使用率の設定を試してみたいと思います。

試行環境
Windows10 Enterprise
Docker Desktop 4.0.1

CPU使用限度設定

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使用率速度(秒)
13.67
0.57.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、メモリ使用限度が正常に設定できるか検証してみました。

この記事をシェアする
  • Facebookアイコン
  • Twitterアイコン
  • LINEアイコン

お問い合わせ ITに関するお悩み不安が少しでもありましたら、
ぜひお気軽にお問い合わせください

お客様のお悩みや不安、課題などを丁寧に、そして誠実にお伺いいたします。

お問い合わせ
お電話でのお問い合わせ 03-5820-1777(平日10:00〜18:00)
よくあるご質問