프로세스가 실제로 사용하는 메모리 (할당되지 않은)를 결정하는 방법을 찾고 있습니다.
procmon.exe 또는 vmmap.exe를 보면 관련 값은 다음과 같습니다.
개인 바이트
할당 된 모든 메모리.
작업 세트
실제 RAM의 사용 된 메모리입니다.
가정 private bytes = 3 GB
합니다 working set = 200 MB
. 최선의 경우 프로세스는 200MB 만 사용하고 나머지는 방금 할당되어 사용되지 않습니다. 최악의 경우 3GB를 모두 사용하고 2,8GB가 페이지 파일로 교체됩니다.
( Windows 응용 프로그램에서 실제로 사용하는 메모리 양은 얼마 입니까 ? 와 개인 바이트, 가상 바이트, 작업 집합은 무엇입니까 ? 하지만 내 질문에 대답하지는 않습니다.)
프로세스의 실제 사용 메모리를 찾는 방법이 있습니까?
편집 :
나에게 사용되는 메모리는 채워진 할당 된 메모리의 양입니다.
jus가 3GB를 할당하면 '아무것도 발생하지 않습니다. 메모리는 프로세스를 위해 예약되어 있습니다. 개인 바이트는 증가하지만 작업 세트는 변경되지 않습니다. 200MB의 할당 된 메모리를 채운 후 작업 세트에 표시됩니다.
이 200MB의 사용 / 채워진 메모리는 작업 세트에 완전히 비가 있거나 스왑 아웃되었는지 여부에 관계없이 내가 찾는 것입니다.
3
프로세스가 사용하는 메모리에 대한 정의는 무엇입니까 ?
—
gronostaj
@gronostaj 님이 게시물 thx를 수정했습니다.
—
marsh-wiggle
OS는 할당 된 메모리가 기록되었는지 여부를 추적하지 않습니다. 현재 실제 RAM에있는 페이지 (작업 세트)와 할당 된 양 (개인 바이트)을 추적합니다. OS 수준에서 찾고있는 것을 찾을 수 없다고 생각합니다. 응용 프로그램 별 기능 일 것입니다.
—
14:17에 크게
@heavyd 시스템은 Working Set에없는 어떤 페이지가 이미 작성되었는지 알고 있습니다. 이를 쉽게 모니터링 할 수 있습니다.
—
marsh-wiggle
좋은 질문입니다. 나도 그 열이 무엇을 나타내는 지, 그리고 프로세스가 사용하는 스왑 공간에 대한 통찰력이 있는지에 대해 혼란스러워합니다. 기본적으로 그렇지 않은 것 같습니다. superuser.com/questions/917492/…
—
cnst