Há algo sobre o gerenciamento de memória do Windows e seu relacionamento 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 é o Virtual PC 2007, Virtual Server 2005 ou VirtualBox, pois eles agem da mesma maneira) e abra o TaskManager, posso ver na guia processos algumas entradas da VM, mas o os valores da memória são razoavelmente pequenos (cerca de 30 MB). Obviamente, não está incluindo a memória realmente consumida pela própria VM. Nenhuma das várias colunas relacionadas à memória que você pode tornar visível parece funcionar de maneira 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 terá 100 MB) não aparece na guia Processos?
fonte
VBoxHeadless.exe
processo certo (é uma folha no ramo da árvore de processos, ou seja, não tem nenhum outro filho, você pode usar, por exemplo, o Process Explorer para encontrá-lo), a memória "perdida" aparece em Bytes particulares e Conjunto de trabalho desse processo (mesmo que o Process Explorer esteja mostrando muito menos para ambos os valores). Estou um pouco confuso por que eles estão mostrando valores diferentes, mas o VMMap parece mostrar o número real .Qualquer sistema de virtualização hospedado, como os listados, incluirá um driver de dispositivo que será 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 está procurando na memória os programas no modo usuário associados às máquinas virtuais, e não o driver de dispositivo no modo kernel que realmente alocou a memória para as VMs.
fonte
VBoxHeadless.exe
processo certo (é uma folha no ramo da árvore de processos, ou seja, não tem nenhum outro filho, você pode usar, por exemplo, o Process Explorer para encontrá-lo), a memória "perdida" aparece em Bytes particulares e Conjunto de trabalho desse processo (mesmo que o Process Explorer esteja mostrando muito menos para ambos os valores). Estou um pouco confuso por que eles estão mostrando valores diferentes, mas o VMMap parece mostrar o número real .Para visualizar a quantidade de memória em uso por uma VM, você precisa garantir que a coluna Working Set esteja visível no seu Gerenciador de tarefas. Geralmente, apenas o conjunto privado é visível.
Para habilitar esta coluna:
1) Inicie o Gerenciador de tarefas
2) Vá para a guia Processos
3) Ver> Selecionar colunas
4) Verifique se "Memória - conjunto de trabalho" está marcado
Por exemplo, o conjunto privado da VM em execução no momento é 43mb, enquanto o conjunto de trabalho é 2.3Gb
fonte