Container Resource 제어
Memory 제한
옵션 | 의미 |
---|---|
–memory, -m | 최대 메모리양 지정 |
–memory-swap | 최대 메모리 + Swap 사이즈 지정, 생략시 2배로 설정 |
–memory-reservation | –m 보다 적은값으로 구성하기 위한 설정 |
–oom-kill-disable | OOM Killer가 프로세스 kill하지 못하도록 보호 |
$ docker run -d -m 512m nginx:1.4
$ docker run -d -m 1g --memory-reservation 500m nginx:1.4
$ docker sun -d -m 200m --oom-kill-disable nginx:1.4
CPU 제한
옵션 | 의미 |
---|---|
–cpus | Container에 할당할 CPU 코어 갯수 |
–cpuset-cpus | Container가 사용할 수 있는 CPU를 지정. CPU index는 0부터 |
–cpu-share | Default로 Container들이 사용하는 CPU 비중은 1024를 기반으로 설정. 이 값을 조정해서 CPU원 할당을 조정할 수 있음. cpu-share=2048이며 기본값의 2배를 할당 |
$ docker run -d --cpus=.5 centos:7.8
$ docker run -d --cpu-share 2048 centos:7.8
$ docker run -d --cpuset-cpus 0-3 centos:7.8
Block IO (Local Disbundle exec jekyll servek) 제한
옵션 | 의미 |
---|---|
–blkio-weight –blkio-weight-device |
Block IO의 쿼타를 설정할 수 있으며 100~1000까지 선태 default 500 |
–device-read-bps –device-write-bps |
특정 디바이스의 읽기와 쓰기 작업속도(초) 제한한다. 단위 : kb, mb, gb |
–device-read-iops –device-write-iops |
Container의 읽기/쓰기 속도의 쿼타를 설정한다 초당 쿼타가 제한되 IO를 발생시킨다. 0 이상의 정수로 표기 초당 데이터 전송량 = iops * block size |
$ docker run -it --rm --blkio-write 100 centos:7.8 /bin/bash
$ docker run -it --rm --blkio-write-bps /dev/vda:1mb centos:7.8 /bin/bash
$ docker run -it --rm --blkio-read-bps /dev/vda:10mb centos:7.8 /bin/bash
$ docker run -it --rm --blkio-write-iops /dev/vda:10 centos:7.8 /bin/bash
$ docker run -it --rm --blkio-read-iops /dev/vda:100 centos:7.8 /bin/bash
Container Resource 사용량 모니터링
-
Docker 모니터링 Commands
-
docker stat : 실행중인 Container의 런타임 통계 확인
$ docker stats [OPTIONS] [CONTAINER NAME]
-
docker event : Docker 호스트의 실시간 이벤트정보를 수집해서 출력
$ dcoker events -f container=[CONTAINER NAME] $ dcoker image -f container=[IMAGE NAME]
-
-
cAdviser