728x90
반응형

결론적으로 현재 상황을 정리하면 docker 환경의 메모리 증가에 대해 난감해 졌다.

 

이슈 시작을 간단히 설명하면,
기존에 사용하던 docker에 kernel 에러가 발생해서 중단하고 host에 tomcat서버를 설치하여 사용하고 있었다.

기능상 당장 큰 문제가 없기 때문에 크게 신경쓰지 않고 있었는데 어느날 확인해 보니 메모리 사용량이 급증해 있었다.
아무 계획없이 확인했던 것인데 더 방치 했다면 아마도 50%를 바라봤을지도 모르겠다.

docker를 사용할 당시 컨테이너 3개가 돌아가고 있었고, 많아 봐야 메모리 사용량은 20% 정도였다.
당시와 비교해도 특별한 소스 변동이 없었기 때문에 이 그래프의 흐름은 내게 메모리 관리가 별도로 필요성을 느끼게 했다.

그래서 ubuntu의 메모리 사용량 관리에 대한 내용을 찾아서 스케줄로 등록했다.
참고정보 : https://oopaque.tistory.com/119

 

우분투 리눅스 메모리 사용량 캐쉬메모리 정리

우분투 리눅스 메모리 사용량 메모리 정리 1) 메모리 사용량 (KB 단위) $ free 2) 메모리 사용량 (MB 단위) $ free -m 3) 메모리 사용량 (사람이 보기 편한 단위) $ free -h 4) 현재 메모리 사용정보 $ c..

oopaque.tistory.com

그리고 결과는 위 30일 그래프의 우측 부분이다.
스케줄 추가 전과 비교하면 증가폭이 둔화되긴 했지만 여전히 조금씩 증가하고 있었다.

이후 좀 흥미로운게 있었는데 docker를 사용하게 되면서 부터다.
어찌어찌 kernel 문제가 해결(?) 되어서 다시 docker를 사용하게 되었다.
아래는 도커 사용 전후다.

환경의 차이는 아래와 같다.

  docker 사용 전 docker 사용 후
공통점 특이점 host에서 메모리 관리 스케줄 적용
차이점 tomcat 서버 1개만 운영(prod) 총 3개의 컨테이너 운영중
prod : docker 사용전 작업을 모두 수행
dev : 단순 test용
docker 관리를 위한 컨테이너

이러한 차이라면 오히려 docker를 사용한 후 메모리 사용량이 더 늘어야 하는게 아닌가?
오히려 최저 사용량은 docker 사용 후에가 더 낮다.

그리고 3일간 모니터링 한 결과 조금씩 메모리 사용량이 증가하고 있다.
구글을 검색해봐도 docker가 메모리 관리를 아주 잘 하는것 같지는 않은데 말이다. 흠 =ㄴ=ㅋ

docker 사용 6일 후 현재

역시 구글 검색 결과가 맞는 모양이다.

아쉽게도 메모리 사용량은 점차 증가하고 있으며, 특정 머신시간(19~20시)에 대략 3%씩 증가하고 있다.

주기적으로 관리해 줄 방법 없나? 

728x90
반응형

+ Recent posts