freeseaboy 님의 멋있어 지려 노력하는 블로그

도커(8) 도커 태클걸기 본문

컴퓨터 & 서버/리눅스

도커(8) 도커 태클걸기

freeseaboy 2024. 11. 17. 20:22
반응형

자 오늘 4교시 도커 입니다...오늘 자원에 대한 구속하기 및 태클걸기인데

잘 따라오시면 됩니다...ㅋㅋ쉬워요

그럼 바로 ㄱㄱ

스크립밑

  ★위 포스팅 내용은 네X버 Blog 아래 링크에도 

똑같이 미러링 되어 있습니다.예비 Blg ​★  

https://blog.naver.com/iwseo7114

 

iwseo7114님의 블로그 : 네이버 블로그

안녕하세요. 일상 생활 공유에 관심이 많은 샐리엇입니다. 잘부탁드려요~ㅋ

blog.naver.com

 

 

 

#################################################################

자 오늘 4교시 도커 시간을 갖어 봅시다 ㅋ

일단 오늘 할 내용은 노래듣고

- 컨테이너 자원 할당 제한

- 메모리

- cpu

- I/O

컨테이너 생성시 옵션을 따로 주지않으면

컨테이너는 호스트 자원을 마음대로 조질수 있다..그래서

필요하다 제한에 있어서..

대표적으로 update 옵션으로 변경한다..

여러개의 자원관리 옵션이 있는데...그중에서

한가지를 시범 보이면 아래와같다

즉 컨테이너를 생성후 512메모리로 제한을 둔다

[root@C3 ~]# docker run -d --memory="512mb" ubuntu:14.04

9181503b447730554630ae44ef9483f47ac8a571edf1a53e47f20b5077e905b0

[root@C3 ~]#

"Memory": 536870912,

"MemoryReservation": 0,

"MemorySwap": 1073741824,

"MemorySwappiness": null,

536870912Byte -> 512MB 란다...ㅇㅋ?

스왑은 기본적으로 메모리만 제한해서 띄우면

사용자 정의 메모리 * 2로 해서 나온다 근데

스왑도 따로 지정 가능

[root@C3 ~]# docker run -it --memory="512mb" --memory-swap="1024mb" ubuntu:14.04

cpu제한은

맘대로 막 내가 입력하는 족족이 아닌..

호스트가 갖고 있는 cpu에 비례해서 자동적으로

할당이 된다 즉 맥스 10개면 그중에 10분에4 4개라던디

이렇게 비율로 해서 줄수 있데요..

비율로 cpu사용은 아래

[root@C3 ~]# docker run -d --cpu-shares 1024 alicek106/stress stress --cpu 1

[root@C3 ~]# docker run -d --cpu-shares 512 alicek106/stress stress --cpu 1

특정 cpu만 사용은 아래

[root@C3 ~]# docker run -d --cpuset-cpus=3 alicek106/stress stress --cpu 1

e5741b30af597a3a809f767701d8c1db70c774950f5fc7edc35674223ff1deb9

[root@C3 ~]# htop

[root@C3 ~]#

CPU를 50프로만 쓰는것 1개를

[root@C3 ~]# docker run -d --cpus=0.5 alicek106/stress stress --cpu 1

----------------------------------------------------------------

| 1 2 3 4 5 6

----------------------------------------------------------------

50% 100% 100% " " "

----------------------------------------------------------------

이뜻임...

[root@C3 ~]# docker run -d --cpus=0.1 alicek106/stress stress --cpu 1

cb11d5851405074b6090ed45ef44663ae1671cef3da8fa0973ebef7e533424a5

[root@C3 ~]# ps -aux|grep stress

root 9822 0.3 0.0 7476 432 ? Ss 20:06 0:00 stress --cpu 1

root 9841 10.6 0.0 7476 92 ? R 20:06 0:00 stress --cpu 1

root 9848 0.0 0.0 112816 972 pts/0 S+ 20:06 0:00 grep --color=auto stress

[root@C3 ~]# ps -aux|grep stress

root 9822 0.2 0.0 7476 432 ? Ss 20:06 0:00 stress --cpu 1

root 9841 9.2 0.0 7476 92 ? R 20:06 0:00 stress --cpu 1

root 9853 0.0 0.0 112816 968 pts/0 S+ 20:06 0:00 grep --color=auto stress

[root@C3 ~]# ps -aux|grep stress

root 9822 0.2 0.0 7476 432 ? Ss 20:06 0:00 stress --cpu 1

root 9841 10.4 0.0 7476 92 ? R 20:06 0:00 stress --cpu 1

root 9856 0.0 0.0 112816 972 pts/0 S+ 20:06 0:00 grep --color=auto stress

[root@C3 ~]#

자그리고 IO처리 대역폭 설정법

[root@C3 ~]# docker run -it --device-write-bps d/dev/xvda:1mb ubuntu:14.04

대략 이런식으로 컨테이너를 만들고 IO할 디바이스를 정하고

그디바이스 속도를 1MB로제한 이론적으로 실습은 제가 환경이 안되서 못함 ㅠ

이런게 있다 정도로 아셈.

그러면 이른적으로 dd를 해서 무슨 IO작업을 했을시 만약에

dd로 aaa.txt에 100 메가 데이터를 쓰게되면 초당 1mb 정도로 데이터가 들어가서

대충 100초가 걸려야 된다

맞죠?이말입니다..

스토리지 + 컨테이너 저장공간 제한 기법도 있는데

위험성도 있고 자주 사용안한다고 하니 패스합니다

당신이 튜닝에 미친자라면 찾아서 한번 해봐도 되요...

근데 전 복잡하게 안할래요 ㅋ

이렇게해서 오늘 도커를 좀 알아봤어요 오늘은 제한 사항에 대해 배웠죠?

무튼 최대한 이해하고 암기하면 좋은데 안되도 시간이 해줄거에요

왜냐면 최소 10년이상 계속 반복 교육할거니깐 ㅋㅋㅋㅋㅋㅋ

자 무튼 수고했어요 ㅅㄱ링

#################################################################

도커

반응형