VirtualPC, HyperV e provavelmente produtos similares usam algo chamado memória bloqueada pelo driver, que não é visível no Process Explorer, no Gerenciador de Tarefas, etc. RAMMap mostrará a memória bloqueada do driver usada por um processo.
Há algo sobre o gerenciamento de memória do Windows e sua relação com o TaskManager que eu não entendo e espero que alguém possa me esclarecer.
Se eu estiver executando uma máquina virtual (não importa se é Virtual PC 2007, Virtual Server 2005 ou VirtualBox, pois eles funcionam da mesma forma) e abrir o TaskManager, posso ver na guia processos algumas entradas para o VM, mas os valores de memória são bastante pequenos (cerca de 30 MB). Obviamente, não está incluindo a memória sendo consumida pela própria VM. Nenhuma das várias colunas relacionadas à memória que você pode tornar visíveis parece funcionar de forma diferente. O uso de memória na guia Desempenho parece estar correto para o uso total de memória, incluindo a VM.
Então, minha pergunta é por que o uso de memória da VM (que será de 100 MB) não aparece na guia Processos?
VirtualPC, HyperV e provavelmente produtos similares usam algo chamado memória bloqueada pelo driver, que não é visível no Process Explorer, no Gerenciador de Tarefas, etc. RAMMap mostrará a memória bloqueada do driver usada por um processo.
Para exibir a quantidade de memória em uso por uma VM, você precisa garantir que tenha a coluna Conjunto de Trabalhos visível em seu Gerenciador de Tarefas. Muitas vezes, apenas o conjunto particular é visível.
Para ativar esta coluna:
1) Inicie o Gerenciador de Tarefas
2) Vá para a aba Processos
3) Visualizar > Selecione Colunas
4) Verifique se "Memory - Working Set" está marcado
Por exemplo, o conjunto particular da VM que estou executando no momento é de 43 mb, enquanto o conjunto de trabalho é de 2,3 Gb
Qualquer sistema de virtualização hospedado, como os que você listou, incluirá um driver de dispositivo que é executado no kernel do sistema operacional host. Isso é necessário, pois os programas no modo de usuário não podem emitir as instruções necessárias para criar uma máquina virtual.
O motivo pelo qual você não vê a memória no gerenciador de tarefas é que você está procurando na memória os programas em modo de usuário associados às máquinas virtuais, e não o driver de dispositivo em modo kernel que alocou a memória para as VMs.