리눅스 OOM Killer 동작 원리와 oom_score_adj 튜닝

메모리가 정말 바닥나면 커널은 프로세스 하나를 희생시켜서라도 시스템 전체가 멈추는 걸 막는다. 문제는 OOM Killer가 고르는 희생양이 항상 원하는 프로세스가 아니라는 점이다 — 메모리를 많이 쓴다는 이유만으로 DB가 먼저 죽고, 죽어도 되는 임시 작업은 살아남는 경우가 있다. 이 글에서는 희생자를 고르는 기준(oom_score)과 oom_score_adj로 그 우선순위를 조정하는 방법을 실제로 메모리를 고갈시켜 검증한다. oom_score와 oom_score_adj 파일 범위 … 리눅스 OOM Killer 동작 원리와 oom_score_adj 튜닝 계속 읽기