Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
리눅스/OS

OOM Killer: 메모리 부족 상황에서의 프로세스 선택 및 종료 메커니즘

OOM Killer는 시스템 메모리가 임계값에 도달할 때 커널이 프로세스를 선택하여 강제 종료하는 메커니즘입니다. 프로세스는 oom_badness() 알고리즘을 통해 계산된 점수에 따라 선택되며, oom_score_adj를 통해 관리자가 우선순위를 조정할 수 있습니다.

2026.09.21  ·  27회  · 

OOM Killer 개요

OOM(Out of Memory) Killer는 Linux 커널의 메모리 관리 메커니즘으로, 시스템 메모리와 스왑 공간이 부족할 때 동작합니다. 커널이 메모리 할당 요청을 만족할 수 없을 때 강제로 프로세스를 선택하여 종료하여 시스템이 완전히 다운되는 것을 방지합니다.

프로세스 선택 알고리즘

mm/oom_kill.c의 oom_badness() 함수는 각 프로세스에 대해 점수를 계산합니다. 점수는 RSS(상주 집합 크기), 스왑 사용량, 페이지 테이블 오버헤드 등을 고려하며, oom_score_adj 값으로 조정 가능합니다. -1000으로 설정하면 절대 종료되지 않으며, +1000으로 설정하면 가장 먼저 선택됩니다.

커널 매개변수 제어

panic_on_oom 파라미터는 OOM 발생 시 동작을 제어합니다. 0(기본값)이면 OOM Killer가 프로세스를 종료하고, 1이면 커널 패닉이 발생합니다. /proc/[pid]/oom_score와 /proc/[pid]/oom_score_adj를 통해 런타임에 프로세스 우선순위를 조정할 수 있습니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원