← 질문 목록
#370깊이 0

OOM 킬러는 어떤 기준으로 프로세스를 종료하는가?

운영체제

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

프로세스의 배드니스 점수를 계산해 가장 높은 프로세스를 종료한다.

  • badness 점수 요인

    • 메모리 사용량 (기본 점수)

    • 루트 권한 여부 (점수 감면)

    • 실행 시간 (오래된 프로세스 보호)

    • oom_score_adj (사용자 가중치 지정)

커널은 메모리가 고갈되면 out_of_memory()를 실행한다. 이 함수는 물리 메모리를 많이 쓰는 프로세스에 높은 기본 점수를 준다.

시스템 핵심 프로세스는 강제 종료를 피해야 한다. 커널은 루트 권한 프로세스의 점수를 깎아 보호한다. 자식 프로세스를 많이 거느린 부모도 가중치를 낮게 조정한다.

개발자는 특정 프로세스의 생존을 보장할 수 있다. /proc 파일시스템 안의 oom_score_adj 값을 조절해 점수를 강제로 낮춘다. 시스템은 이 가중치를 최종 점수에 더해 판단한다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

OOM 킬러는 어떤 기준으로 프로세스를 종료하는가?