피드로 돌아가기
Dev.toInfrastructure
원문 읽기
PSI 기반 systemd-oomd 도입을 통한 선제적 Memory Death Spiral 차단
Stop Linux Memory Death Spirals Early: Practical `systemd-oomd` with PSI and cgroup policy
AI 요약
Context
커널 OOM Killer의 지연된 작동으로 인한 시스템 전체의 응답성 저하 및 Livelock 현상 발생. 단순 MemoryMax 설정만으로는 메모리 회수 과정에서 발생하는 Latency Spike 및 시스템 성능 저하를 방지하기 어려운 한계 존재.
Technical Solution
- PSI(Pressure Stall Information) 모니터링을 통한 메모리 압박 상태의 조기 감지 및 대응
- cgroup v2 기반의 계층적 구조를 활용하여 전체 호스트가 아닌 특정 하위 cgroup만을 정밀하게 타격하는 설계
- DefaultMemoryPressureLimit(60%) 및 Duration(30s) 설정을 통한 지속적인 메모리 고갈 상태 판별 로직 적용
- Swap 공간 확보를 통해 systemd-oomd가 커널 패닉 전 적절한 Kill 대상을 선정할 수 있는 반응 시간(Reaction Time) 확보
- 서비스 개별 설정 대신 system.slice 등 Slice 레벨의 정책 적용을 통한 관리 효율성 및 구조적 일관성 유지
실천 포인트
- cgroup v2 활성화 및 /proc/pressure 하위 PSI 파일 존재 여부 확인 - DefaultMemoryAccounting=yes 설정을 통한 유닛별 메모리 계측 활성화 - 서비스별 MemoryMax 설정과 별개로 PSI 기반의 ManagedOOMMemoryPressure 정책 검토 - 갑작스러운 워크로드 급증에 대비한 충분한 Swap 영역 설정 및 PSI 임계치 튜닝