MINERVA/TechInfo 2015. 3. 27. 11:16
반응형

Working set을 살펴 보기 전에 작업 관리자(Task Manager)를 살펴보자.

위를 보면, Working Set(작업 집합), Page fault(페이지 펄트)를 확인 할수 있다.

쉬운 이해를 위해 Questions 을 가지고 시작해보자.

1) Working Set 값이 높으면 좋은 것인가? 나쁜 것인가?

2) Page fault 값이 높으면 좋은 것인가? 나쁜 것인가?

(답변)

1) 좋다? 나쁘다?를 말할 수 없다. 왜냐면 Working set 값이 높다는 것은 해당 Process가 addressing하는 physical memory가 많다는 것이다. 그러나, 만약에 Working set이 계속 증가한다면 프로그램의 문제를 의심해야 함(예: 메모리 릭)

2) 나쁘다. 왜냐면, memory와 hard간에 swap이 빈번하게 발생한다는 것은 프로그램의 성능 및 프로그램 구현상에서 메모리 관리를 잘 못하고 있다는 의미로 해석해도 틀리지 않음.


언제나 그렇지만, MSDN을 찾아 보면 명쾌한 답변이 있음을 확인 할수 있다.

위의 글을 보면, 언제? 왜? Page fault가 발생하고, 이현상에 따라 Working Set이 어떻게 동작하는지 이해 할수 있다.

간단하게 정리하면, Swap에 의해, Page fault가 발생하게 되고, OS는 해당 프로세스의 Virtual address를 관리하는 MMU에 의해 Working set이 증가하게 됨


감사합니다.




반응형
posted by choiwonwoo
: