[Docker] 도커 컨테이너 과부하로 인한 OS 성능 저하 문제 해결
문제 상황 1) 듀얼부팅인데, ubuntu만 속도 엄청 느려짐
- 컨테이너에 과부하 걸리면, 해당 컨테이너뿐만 아니라, OS에 전체적인 성능 저하가 발생할 수 있다고 함.
- 현재 있는 모든 컨테이너가 전원이 켜져 있으면 무조건 돌아가게 되어있어서, 과부하 걸리지 않았나 생각됨.
- 그래서 사용하지 않는 컨테이너 6개 지움. ==> OS 속도 조금 향상됨.
문제 상황 2) 도커 컨테이너에서 갑자기 실시간 웹캠 스트리밍이 안 됨.
해결 방안 1) 사용하지 않는 컨테이너 삭제
해결 방안 2) docker daemon 중지
$ sudo service docker stop
$ reboot
$ sudo service docker start
==> 우분투 환경 속도 제대로 돌아옴, 실시간 카메라 스트리밍 잘 됨.
※ 참고
1) 비디오 장치 확인 명령어
2) 도커 상태 확인 명령어
□ 실행 중인 모든 컨테이너의 사용량 출력 (실시간)
$ docker stats
- CPU : CPU 백분율
- MEM USAGE /LIMIT : 메모리 사용량/사용 가능한 양
- MEM % : 메모리 백분율
- NET I/O : 컨테이너가 네트워크 인터페이스를 통해 전송하고 받는 데이터 양
- BLOCK I/O : 컨테이너가 호스트의 블록 장치에서 읽고 쓴 데이터의 양 (하드웨어 디스크에 읽고 쓴 데이터 양)
- PIDS : 컨테이너가 생성한 프로세스 및 스레드 수 (이 수가 크면 컨테이너의 무언가가 많은 스레드를 생성하고 있음을 의미)
□ 현재 시간 결과만 1번 출력 (실시간 스트리밍 X)
$ docker stats --no-stream
□ 도커에서 사용하고 있는 이미지, 컨테이너, 로컬 볼륨 관련 정보
$ docker system df
- TOTAL : 총 개수
- ACTIVE : 사용중인 개수
- SIZE : 차지하는 크기
- RECLAIMABLE : 사용 중이지 않은 이미지를 삭제함으로써 확보할 수 있는 공간
출처 : docker docs (https://docs.docker.com/engine/reference/commandline/stats/)