Memory
--memory
옵션을 통해서 컨테이너 메모리 사용량을 제한할 수 있다. 최소 메모리는 4MB이며 너무 적게 할당하는 경우에는 메모리가 부족해 컨테이너가 실행되지 않는다. 또한 SWAP메모리도 설정이 가능한데 기본적으로 SWAP메모리는 컨테이너에 할당된 메모리 * 2가 할당된다.
CPU
—cpu-shares
--cpu-shares
는 시스템 CPU를 얼마만큼의 비중으로 나눠 쓸 것인지를 명시하는 옵션이다.
—cpuset-cpu
--cpuset-cpus
는 컨테이너가 특정 CPU만 사용하도록 지정하는 옵션이다. 특정 CPU만 사용하도록 하면 CPU Affinity를 보장할 수 있고 Cache Miss나 Context Switching같은 성능 하락 요인을 최소화할 가능성이 높아진다.
—cpu-period, —cpu-quota
컨테이너의 CFS(Completely Fair Schedule) 주기는 기본적으로 100ms이다. --cpu-period
를 통해 CFS 주기를 변경할 수 있고 --cpu-quota
를 통해 얼마나 할당할 것인지를 지정할 수 있다.
—cpus
--cpus
는 직관적으로 CPU 개수를 지정할 수 있다. 만약 0.5를 할당하게 되면 컨테이너가 최대한 CPU 0.5개의 파워를 사용할 수 있게 된다.
Block I/O
--device-write-bps --device-read-bps
를 통해 입출력 블록 크기 제한을 걸 수 있다. KB/s MB/s GB/s 단위로 제한할 수 있다.