Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2주차] 컨테이너 메모리 제한 명령어 경고 #13

Open
brido4125 opened this issue Jun 23, 2022 · 0 comments
Open

[2주차] 컨테이너 메모리 제한 명령어 경고 #13

brido4125 opened this issue Jun 23, 2022 · 0 comments
Labels

Comments

@brido4125
Copy link
Collaborator

79Page 컨테이너 메모리 제한

docker run -d --memory="1g" --name memory_test nginx명령어 입력시 경고 발생 아래와 같은 경고 발생

WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.

경고를 직역하면 커널의 설정 때문에 memory swap의 제한에 대한 기능을 지원하지 않는다는 것입니다.
즉, memory-swap 옵션을 줄 경우 해당 기능을 커널문제로 인해 수행하지 못한다는 뜻입니다.
해결방법을 알아봅시다.

  1. sudo nano /etc/default/grub

  2. 아래와 같이 파일 수정
    GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

Screen Shot 2022-06-23 at 8 20 38 PM

  1. 나와서 sudo update-grub

  2. sudo reboot

  3. 컨테이너 run 다시하기

Swap Memory란?

이 개념이 헷갈렸는데 찾아보니 실행중인 컨테이너의 메모리가 부족하게 되면 host의 디스크의 용량을 일정부분 가져와 사용할 수 있는 메모리입니다.
만약 해당 메모리가 사용되고 있다면 해당 컨테이너의 실제 메모리는 이미 전부 사용중이라고 예상할 수 있습니다.
그리고 교재에는 정확히 기술이 안되어있는데 --memory=200m --memory-swap=500m이라는 옵션은
실제 컨테이너 메모리 = 200m, swap 가능한 메모리 = 300이라고 합니다.

혹시 틀린 내용있으면 피드백 부탁드립니다 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant