Windows/2003

[스크랩] 작업관리자 PF는 물리+페이징파일 합이당!

99iberty 2013. 11. 25. 15:56

http://ntnara.tistory.com/6

 

구글링해서 대부분 나오는 건 PF는 걍 페이징파일 만 나타내는 거라고 하는데 물리+페이징파일 합친 내용이다.

 



작업관리자를 평소에 자주 활용은 하지만,
메모리 부분을 눈여겨 보지 않았는데 의문점이 생겨서 좀 분석해 보았습니다.

위 스샷에서 첫번째는 가상 메모리 즉, 디스크의 Page File 설정해놓은 부분 입니다.
최소 15G 에서 최대 18G로 잡아놓은것을 확인 할 수 있죠.

오른쪽은 작업관리자에서 본 성능 모니터링 값 입니다.
물리적 메모리 64G(실제 메모리의 전체)가 꽂혀있고,
최대값이 89G(할당된 메모리의 한도)로 잡혀있음을 확인 할수 있습니다.

여기서 의문이 생긴 부분은 PF 사용 부분 입니다.

이게 디스크에 미리 Page File로 잡아놓은 부분의 사용량이라고 생각했는데..
작업관리자의 수치 55.4G 상태대로 라면, 수치를 훨씬 초과하게 되는 셈이죠.

구글링 하다가 PF에 대해 아래와 같은 글을 발견했습니다.


PF 사용은 Virtual Address 환경에서 할당된 PageFile들의 전체 크기를 말하는 것 입니다.

PageFile에 대해서 부연 설명을 드리면 CPU가 연산을 위해 데이터에 접근할때에 해당 데이터는 Phycicam Memory,
즉 RAM에 존재해야겠죠. 만약 해당 데이터가 들어있는 PageFile이 RAM에 존재하지 않고 Disk상에 위치하고 있다면 PageFault가 발생하게 되면서 Disk상에 존재하고있는 해당PageFile을 RAM으로 불러들이는(Page In) 작업이 수행됩니다.

더불어 RAM의 공간이 모자라면 최근에 사용되지 않았던 Hit Ratio가 낮은 PageFile을 반대로
Disk로 보내는(Page Out) 작업이 수행됩니다.
물리적인 RAM이 부족한 시스템이라면 이러한 PageFile의 Swap(Page In/Out)작업때문에 성능이 저하되겠죠.
이러한 성능저하 현상을 Thrashing이라고 합니다.


결론을 내리자면,
PF 사용이라는 수치는 미리 잡아 놓은 디스크의 Page File을 의미하는 것이 아닌
Virtual Address 환경에서 할당 된 PageFile들의 전체 크기를 말하는 것이고,

이 녀석들이 물리 메모리와 가상메모리(Page File)...즉, 디스크를 왔다 갔다 하면서
작업을 수행한다고 정리 할 수 있습니다.
메모리와 디스크를 와따리 가따리 하는 것이 Page Fault.

고로..
PF사용은 현재 수행 되고 있는 JOB들의 물리메모리 사용량 과 디스크의 PageFile 사용량을 합한 값 입니다.