ACTIVE INCIDENT
00:00 elapsed
LABLAB-DOCKER-10-RESOURCE-LIMITS-OOMSEV-2
Docker 자원 제한·OOMKilled — noisy neighbor 격리
ELAPSED
00:00
PHASE
0 / 4
SLA
40분
📦 Docker
← 목록
INCIDENT RESPONSE
0 / 5 단계 완료
📚 PREREQUISITES
Labdocker-compose-multi-service
Theorydocker/resource-limits
TRACK
DOCKER
SLA
40분
SEV
SEV-2
PHASES
3단계
ENV
local
INCOMING TICKET
장애: "한 컨테이너가 메모리를 다 먹어서 같은 호스트의 다른 컨테이너들이 다 죽었어요. 그리고 그 컨테이너는 OOMKilled로 재시작 반복 중이에요."
YOUR ROLE
인프라/플랫폼 운영 엔지니어인 당신이
IMPACT IF UNRESOLVED
자원 제한 없는 컨테이너가 호스트 메모리를 독식 → 이웃 컨테이너 동반 사망(noisy neighbor). OOMKill 반복으로 서비스 불안정.
🚨INCIDENT BRIEF
한 호스트에 여러 컨테이너를 올렸는데, 한 컨테이너가 메모리를 폭주시켜 호스트 메모리를 다 먹었습니다.
그러자 같은 호스트의 다른 컨테이너들이 줄줄이 죽었습니다. 정작 그 폭주 컨테이너는 OOMKilled로 재시작을 반복합니다.
자원 제한이 없으면 컨테이너는 호스트의 메모리·CPU를 무제한으로 씁니다 — 한 컨테이너의 폭주가
이웃을 죽이는 "noisy neighbor" 문제입니다. 해결은 컨테이너별로 메모리/CPU 상한을 걸어 격리하는 것.
OOMKill을 진단하고, 적절한 제한을 걸고, 제한과 실제 사용량의 균형을 맞춥니다.
⏱ 40분📊 중급🔧 3단계#docker#resource-limits#memory#oom
MISSION
1
OOMKilled 진단 + 자원 사용 현황
컨테이너가 OOMKilled(exit 137)인지, 자원 제한이 걸려 있는지, 누가 메모리를 먹는지 본다
2
메모리/CPU 제한으로 격리
컨테이너별 --memory, --cpus 제한을 걸어 한 컨테이너가 호스트를 독식하지 못하게 한다
3
제한 균형 — 너무 낮은 제한의 함정
제한이 앱 실제 사용량보다 낮아 정상 앱이 OOM되지 않도록, 사용량 기반으로 제한을 조정한다
📌 선수 지식
ℹ️ 실습 환경
환경: local
필요 도구: docker
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →
>_ LAB TERMINAL↔ 너비 조절
NOTES