반응형
Tizen 개발을 하다 우연히 알게된 개념이다. 검색해보니 안드로이드에서 원래 사용되던 개념.
우선 OOM은 Out Of Memory이다.
쉽게 말해 어떤 프로세스가 시스템내에서 허용된 메모리를 넘어가게되면 OOM이 발생한다.
그래서 시스템에서는 OOM Killer또는 Low Memory Killer같은 OOM관리 프로세스를 통해서 OOM을 관리한다.
그때 어떤 프로세스를 먼저 줄일지에 대한 지표가 되는게 oom_adj(=oom_score_adj)이다.
즉 , 메모리 부족시 oom_adj가 큰 값부터 차례대로 프로세스를 죽여나가고 만약 oom_adj값이 같다면 RSS가 큰 프로세스부터 죽인다.
oom killer에 의해 종료되고 싶지 않다면 oom killer의 proc에 설정을 변경해 줘야 한다.
Tizen에서 프로세스의 oom_adj를 확인하가 위해서는 cat /proc/{pid}/oom_adj_score로 확인하면 된다. (아마 안드로이드도 비슷 할듯)
반응형
'개발 잡지식' 카테고리의 다른 글
[GitHub] git add * VS git add . 차이점 (0) | 2021.05.30 |
---|---|
htop 프로세스 모니터링 (0) | 2020.09.13 |
디스플레이 해상도 (0) | 2018.09.02 |
Handle(핸들)의 개념 (0) | 2018.07.01 |
CMake 기본 포맷과 예제 (0) | 2018.01.28 |