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.