Memory management..
Written by
Keith
on
on
Linux와 MacOS에서 미친 듯이 메모리를 끌어다쓰는 애플리케이션을 실행해봤다.
Linux에서는 early OOM을 설치했다.
결과는? 동일 크기의 메모리 조건에서 MacOS가 엄청난 메모리 증가에도 의연히 대처했다. early OOM 덕택에 linux에서는 그냥 해당 프로세스를 가차없이 중단시켰다.
어떤 게 좋냐고? Early OOM이 돌고 있는 게 사실 시스템 측면에선 좋은 선택이다. 전체 시스템 메모리를 죄다 끌어다 쓰는 프로세스가 정상일리가 있을까?
MacOS에서는 계속해서 swap하며 메모리를 엄청나게 끌어다대는데 시스템이 맛이 갈 정도까지 가면 우아하게 다이얼로그가 하나 뜨면서 시스템이 메모리가 부족한 상태라며 중지시킨다. 리눅스에서는 끌어다 댈 거 거의 다 끌어다대다가 시스템이 맛이 가서 뻗는다. 사실 그 때문에 early OOM을 설치한거다.
결론?
- MacOS에서 memory management가 더 우아하다. 그러나 전체적으로 system response가 linux만 못하기 때문에 일 잘하고 빠릿한 측면에선 여전히 linux가 우위다.
- GUI로 늘 관찰할 수 없는 시스템이라면 early OOM을 설치해서 메모리를 과하게 잡아먹는 프로세스는 그냥 죽여버리게 하는 게 최선의 방법이다. 다만 이게 시스템로그로만 뜬다는 게 좀 아쉽지만.