[Docker] ulimit ์˜ต์…˜

ulimit์€ ๋ฆฌ์†Œ์Šค ์ œํ•œ์„ ์œ„ํ•œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋‹ค.
CPU์™€ ๋ฉ”๋ชจ๋ฆฌ, GPU๋ฅผ ์ œ์™ธํ•œ ์ž์งˆ๊ตฌ๋ ˆํ•œ ์ œํ•œ์‚ฌํ•ญ๋“ค์„ ๋ชจ์•„๋‘” ๋ถ€๋ถ„์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด FD ๊ฐœ์ˆ˜, ํŒŒ์ผ ์ตœ๋Œ€ ํฌ๊ธฐ, ์ตœ๋Œ€ ํ”„๋กœ์„ธ์Šค ์ˆ˜ ๋“ฑ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.




Option: File Descriptor Limit

๋‚ด๊ฐ€ ๋ดค์„๋•Œ ulimit์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ์‚ฌ๋ก€๋Š” FD๋ฅผ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๊ฐ€๋” DB ๊ฐ™์€๊ฑฐ ๋„์›Œ์„œ ๋นก์„ธ๊ฒŒ ๋Œ๋ฆฌ๋‹ค๋ณด๋ฉด FD๋ฅผ ๊ณผ๋‹คํ•˜๊ฒŒ ์ ์œ ํ•  ๋•Œ๋„ ์žˆ๋‹ค.

๊ทธ๋Ÿด๋•Œ ์•ˆ์ •์ ์œผ๋กœ FD๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

sudo docker run --ulimit nofile=1024:2048 imagename

์ด๋Ÿฌ๋ฉด SOFT limit์ด 1024๊ณ  HARD limit์ด 2048์ด๋‹ค. ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๋Š” ์•„๋ฌด๋ฆฌ ๋งŽ์ด ์จ๋„ FD๋ฅผ 2048๊ฐœ๊นŒ์ง€๋งŒ ์—ด ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ ์ด์ƒ์„ ์‹œ๋„ํ•œ๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ์‹คํŒจํ•œ๋‹ค.

๋ฆฌ๋ˆ…์Šค์˜ ๊ธฐ๋ณธ๊ฐ’์€ SOFT์™€ HARD limit ๋ชจ๋‘ 64000๊ฐœ๋‹ค.



ulimit์˜ ์ƒ์„ธ ์˜ต์…˜ ๋ชฉ๋ก์€ ์•„๋ž˜ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
https://docs.docker.com/reference/cli/docker/container/run/#supported-options-for---ulimit



์ฐธ์กฐ
https://docs.docker.com/reference/cli/docker/container/run/#ulimit
https://stackoverflow.com/questions/24318543/how-to-set-ulimit-file-descriptor-on-docker-container-the-image-tag-is-phusion
https://docs.docker.com/reference/cli/dockerd/#on-linux