프로세스 탐색기의 개인 바이트 VS 작업 세트


39

작업 세트는 프로세스가 사용하는 실제 메모리 양이며 개인 바이트는 더 많은 양을 필요로하는 경우를 제외하고 설정된 양이라는 것을 알고 있습니다.

그렇다면 시스템의 다른 프로세스에서 실제로 얼마나 많은 메모리가 제거되는지 파악하기 위해 두 가지를 추가할까요?

답변:


52

나는 그렇게 간단하지 않다는 것을 두려워합니다. 특히 개인 바이트는 당신이 제기하는 질문에 대답하는 데별로 유용하지 않습니다.

가장 먼저 염두에 두어야 할 것은 메모리 페이지가 주 메모리 나 외부 저장소에있을 수 있다는 것입니다 (현재는 "디스크 페이징"또는 "스왑"). 두 번째는 프로세스에 풋 프린트에 개인 메모리 페이지가 있지만 다른 프로세스가 동시에 사용하는 공유 페이지의 오브젝트도 사용한다는 것입니다.

작업 세트 는 프로세스에 속하는 페이지의 크기이며 현재 주 메모리에 저장됩니다. 프로세스가 사용하는 메모리 페이지가 페이지 파일로 이동되면 작업 세트 메트릭에서 제거되고 기본 메모리로 다시 호출되면 다시 추가됩니다.

작업 세트는 프로세스가 소유 한 메모리를 독점적으로 언급하지 않습니다. 프로세스는 많은 공유 메모리 객체를 사용하며 이러한 객체의 크기는 통계에 반영됩니다. 불행히도 두 프로세스가 1MB 객체를 공유하면 두 프로세스 모두 작업 세트에 1MB 할당을 표시하므로 모든 작업 세트를 추가하면 1MB 객체가 두 번 기록되므로 모든 작업 세트 크기의 누적이 발생할 수 있습니다 극단적 인 경우 사용 가능한 램 크기를 초과하는 것으로 보입니다. 자세한 내용은 여기를 참조하십시오 : http://cybernetnews.com/cybernotes-windows-memory-usage-explained/

개인 바이트 는 프로세스의 개인 메모리 풋 프린트가 스왑하기 위해 완전히 페이징 된 경우 프로세스에 할당되는 페이지 파일 공간의 양을 의미합니다 (필수는 아님). 대부분의 경우 프로세스가 페이지 파일을 전부 (또는 전혀) 상주하는 것은 아니므로 개인 바이트에 추가 할당을위한 "룸"이있는 것 같습니다. 그러나 그렇지 않습니다.

그러나 개인 바이트는 프로세스 개인 메모리 만 참조하므로이 값은 공유 자원을 반영하지 않을 수 있습니다 (현재 공유 자원이이 프로세스에서만 사용되는 경우에도).

"Working set Private"(버전에 따라 프로세스 탐색기에서 "WS Private bytes"또는 "Private WS")은 사용하기에 가장 적합한 메트릭 일 것입니다. 페이지 파일과 관련이 없으므로 실제 램에 미치는 프로세스 영향을 정확하게 표현할 수 있으며 공유 객체를 두 번 계산하지 않습니다. 공유 객체는 한 번만 키가 계산되지만 (단일 프로세스 관점에서만) 프로세스가 다른 프로세스에서 생성 된 공유 객체를 사용한다는 것을 기록하지 않으므로 프로세스가 다른 프로세스에서 더 많은 램을 사용할 수 있습니다 머신 또는 다른 프로세스 인스턴스를 사용하는 대신 공유 오브젝트 자체를 작성해야하는 상황. Windows 작업 관리자는 작업 집합 개인을 메모리 사용 메트릭으로 사용합니다.

그것이 도움이 되길 바란다


1
"Private Bytes"는 프로세스가 요청한 메모리의 양이고 "Working Set"은 Private Bytes에 다른 프로세스가 사용할 수있는 약간의 추가 공유 메모리를 더한 것입니다. 또한 "Private Working Set"은 현재 실제 RAM에있는 개인 메모리의 양인데 실제로 사용중인 메모리의 양을 가장 정확하게 나타내는 것입니까?
Scandalist

4
예, 거의 요 무료 램 개인 작업 세트가 걱정된다면 갈 길입니다. 페이지 파일 또는 전체 커밋 (ram + virtual memory)이 걱정된다면 개인 바이트는 좋은 지표입니다.
Frank Thomas

"개인 바이트"는 프로세스의 커밋 된 개인용 가상 주소 공간입니다. 이 중 일부는 페이지 파일에 있고, 일부는 RAM에 있고, 일부는 두 곳 모두에있을 수 있으며, 일부는 (아마도 대부분) 물리적 스토리지가 전혀 할당되지 않았을 수 있습니다. 시스템의 전체 "커밋 요금"에 대한 프로세스의 기여입니다. "개인 작업 집합"은 RAM에있는 "개인 바이트"의 하위 집합입니다. nb : RAMmap은 가상이 아닌 실제 메모리 (RAM)에만 관련되므로 RAMmap의 디스플레이에서 "비공개 바이트"또는 이와 유사한 것을 찾을 수 없습니다.
Jamie Hanrahan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.