TaskManager에 가상 시스템 메모리 사용량이 나타나지 않음


28

Windows 메모리 관리에 관한 것이 있으며 이해하지 못하는 TaskManager와의 관계이며 누군가 나를 밝게 할 수 있기를 바랍니다.

가상 머신을 실행하고있는 경우 (가상 PC 2007, Virtual Server 2005 또는 VirtualBox가 동일한 방식으로 작동하므로 상관 없음) TaskManager를 표시하면 프로세스 탭에서 VM의 일부 항목을 볼 수 있지만 메모리 값은 상당히 작습니다 (약 30MB). 분명히 VM 자체에서 실제로 소비하는 메모리는 포함되지 않습니다. 표시 할 수있는 다양한 메모리 관련 열 중 어느 것도 다르게 작동하는 것처럼 보이지 않습니다. 성능 탭의 메모리 사용량이 VM을 포함한 총 메모리 사용량에 맞는 것으로 보입니다.

그래서 내 질문은 왜 프로세스 탭에 VM의 메모리 사용량 (100MB)이 표시되지 않습니까?

답변:


30

VirtualPC, HyperV 및 유사한 제품은 프로세스 탐색기, 작업 관리자 등에 표시되지 않는 드라이버 잠금 메모리라는 것을 사용합니다. RAMMap 은 프로세스에서 사용하는 드라이버 잠금 메모리를 표시합니다.


1
레코드 RAMMap은 Vista 이상입니다.
팀 아벨

1
RAMMap은 프로세스에 대해 잠긴 메모리를 보여주지 않았습니다. 총 잠긴 메모리를 보여주었습니다
NeDark

그는 다른 사람들을 지적하기 위해 프로세스 잠금 메모리를 말하지 않았습니다. 그는 드라이버가 메모리를 잠 갔다고 말했다 . 동적 메모리 작동 방식입니다. 마음에 들지 않거나 앱이 엉망이라고 생각되면 동적 대신 정적 메모리에 대해 VM을 구성하면됩니다. VM에서 동적 메모리를 사용할 때 일부 Java 앱에 문제가 있음을 보았습니다 . 글리치를 고정으로 설정했습니다 .
John C

실제로 어떤 프로세스가 해당 메모리를 할당합니까? 나는 SysInternals의 VMMap 을 시도 했으며 올바른 VBoxHeadless.exe프로세스 를 선택하면 (프로세스 트리 분기의 리프입니다. 즉, 다른 자식이 없으면 프로세스 탐색기와 같이 사용하여 찾을 수 있습니다) 프로세스 탐색기가 두 값에 대해 훨씬 적게 표시 되더라도 해당 프로세스의 개인 바이트작업 세트 모두에 나타납니다 . 그래서 나는 왜 그들이 다른 값을 보여주는 지 약간 혼란 스럽지만 VMMap은 실수를 보여줍니다 .
Dawid Ferenczy Rogožan

6

나열된 것과 같은 호스팅 된 가상화 시스템에는 호스트 OS의 커널 내에서 실행되는 장치 드라이버가 포함됩니다. 이것은 사용자 모드 프로그램이 가상 머신을 작성하는 데 필요한 지시 사항을 발행 할 수 없기 때문에 필요합니다.

작업 관리자에 메모리가 표시되지 않는 이유는 실제로 VM에 메모리를 할당 한 커널 모드 장치 드라이버가 아니라 가상 시스템과 관련된 사용자 모드 프로그램에 대한 메모리를보고 있기 때문입니다.


실제로 어떤 프로세스가 해당 메모리를 할당합니까? 나는 SysInternals의 VMMap 을 시도 했으며 올바른 VBoxHeadless.exe프로세스 를 선택하면 (프로세스 트리 분기의 리프입니다. 즉, 다른 자식이 없으면 프로세스 탐색기와 같이 사용하여 찾을 수 있습니다) 프로세스 탐색기가 두 값에 대해 훨씬 적게 표시 되더라도 해당 프로세스의 개인 바이트작업 세트 모두에 나타납니다 . 그래서 나는 왜 그들이 다른 값을 보여주는 지 약간 혼란 스럽지만 VMMap은 실수를 보여줍니다 .
Dawid Ferenczy Rogožan

5

VM에서 사용중인 메모리 양을 보려면 작업 관리자에 작업 집합 열이 표시되어 있는지 확인해야합니다. 종종 개인 세트 만 표시됩니다.

이 열을 활성화하려면

1) 작업 관리자 시작

2) 프로세스 탭으로 이동

3)보기> 열 선택

4) "메모리-작업 세트"가 선택되어 있는지 확인하십시오

예를 들어, 현재 실행중인 VM의 프라이빗 세트는 43mb 인 반면 작업 세트는 2.3Gb입니다.


1
전체 메모리 응용 프로그램 사용은 무엇입니까? 워킹 세트 + 개인 세트 또는 그냥 워킹 세트?
zendar 2016 년

2
아마도 Windows 버전마다 다르지만 Windows 7에서는 내가보고있는 것이 아닙니다. "Working Set"숫자는 "Private Working Set"숫자보다 크지 만 VM의 메모리를 설명하기에 원격으로는 충분하지 않습니다. 메모리 관련 열을 모두 시도했지만 그중 아무것도 수행하지 않았습니다. 이것은 Windows Virtual PC와 VirtualBox에 모두 있습니다. 어떤 버전의 Windows와 어떤 VM 호스트를 사용하고 있습니까?
Scott Bussinger

불행히도 공유 메모리, 파일 매핑 메모리, 페이지 아웃 메모리 및 기타 몇 가지와 같은 복잡한 문제가 발생하기 때문에 프로세스에서 사용중인 "메모리 양"을 나타내는 단일 숫자는 없습니다. 다음은 몇 가지 개념에 대한 좋은 설명입니다. stackoverflow.com/questions/1984186/…
tylerl

나는 Working Set 이이 경우에 유용한 것을 말하지 않는다고 생각합니다 . VM 내부에서는 약 6GB의 메모리를 사용하는 반면 VirtualBox의 프로세스는 작업 세트 에서 100MB 이상을 소비하지 않습니다 .
Dawid Ferenczy Rogožan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.