Container/Docker

도커 리소스 사용량 제한

검정비니 2023. 10. 25. 20:50
728x90
반응형

도커는 리눅스 커널이 기본으로 제공하는 기본 cgroup 기술을 이용해 애플리케이션이 좀 더 적은 리소스를 사용하게 할 수 있다.

쿠버네티스도 이러한 기능을 활용해 각 파드에서 사용하는 리소스의 양을 제한할 수 있다.

 

메모리 리소스 제한

컨테이너 내에서 애플리케이션을 실행할 경우 얻을 수 있는 주요 이점 중 하나는 바로 리소스 사용률을 제한할 수 있다는 것이다.

따라서 여러 애플리케이션이 동일한 하드웨어에 공존할 수 있으며 공정한 사용을 보장해준다.

 

200MB의 메모리와 1GB의 스왑 공간으로 제한하려면 docker run 명령어와 함께 --memory 및 --memory-swap 플래그를 사용할 수 있다.

docker run -d --name mycontainer --publish 8080:8080 \
--memory 200m --memory-swap 1G \
gcr.io/kuar-demo/kuard-amd64:blue

컨테이너의 프로그램이 너무 많은 메모리를 사용할 경우 해당 컨테이너는 종료된다.

 

CPU 리소스 제한

머신의 또 다른 중요한 리소스는 CPU이다. docker run 명령과 함께 --cpu-shares 플래그를 사용해  CPU 사용을 제한할 수 있다.

docker run -d --name mycontainer \
--publish 8080:8080 \
--memory 200m \
--memory-swap 1G \
--cpu-shares 1024 \
gcr.io/kuar-demo/kuard-amd64:blue

 

반응형