Ops/Linux

Linux OOM Killer란?

MASANG 2022. 6. 18. 22:37

Out Of Memory Killer 의 약자로 메모리가 부족할 경우 특정 프로세스를 강제로 종료시킨다.

 

해당 로그는 관리자계정으로 로그인 후 /var/log/messages 에서 확인할 수 있다.

 

- 발생원인

커널은 VM 을 이용한 메모리 할당을 진행하므로, 실제 Physical 메모리보다 큰 프로그램을 구동할 수 있다.
당장 사용하지 않는 메모리는 나중에 할당하여 사용하기 때문에, 실제 메모리를 넘는 프로그램들도 구동될 수 있다. (OverCommit)
이 때, 이 OverCommit 된 메모리에 쓰여지게 되는 경우 메모리가 모자라며 Out Of Memory 가 발생한다.

 

- 프로세스를 종료시키는 순위

oom_badness() 메소드에서 각 프로세스별 점수를 계산하여 종료시킬 프로세스를 선택한다.

우선순위를 지정이 가능하다.

 

 

'Ops > Linux' 카테고리의 다른 글

Linux 계정생성  (0) 2022.05.25
Linux 일반계정에 관리자 권한 부여(sudo 권한)  (0) 2022.05.24
Linux 계정 그룹 추가 (group, docker)  (0) 2022.05.15
Linux 파일 용량 보기 (ls)  (0) 2022.05.15
Linux 디렉토리 구조  (0) 2022.05.12