'Kernel'에 해당되는 글 1건

  1. 2010.11.17 Low Memory Killer

Low memory killer란 녀석이 내부적으로 움직이면서 메모리가 부족하면 운영체제 내부의 우선순위 알고리즘에 의해 프로세스를 죽인다.

리눅스 커널은 프로세스의 요청을 위한 할당을 위해서 남은 메모리가 없는 상황을 위한 OOM(Out of Memory) 킬러를 가지고 있다. 그 것은 모든 프로세스를 시험하고 어떤 제약으로 점수를 매깁니다. 최고 점수의 init을 제외한 프로세스는 죽여버린다.

안드로이드의 Low Memory Killer는 OOM 킬러와 약간 다르다. 그 것은 그룹의 중요성에 따라 프로세스를 분류하고 가장 낮은 그룹의 프로세스를 죽인다. 그 것은 시스템을 최종 사용자(end user) 관점에서 안정적이게 만든다. 예를 들면, UI 프로세스 - foreground process -는 최종 사용자에게 가장 중요한 프로세스이다. 그래서 프로세스를 지키는 것은 다른 background 프로세스의 삶을 지키는 것보다 더 안정적으로 보이는 것을 살린다.

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요