Estou executando várias VMs com o VirtualBox e o uso de memória relatado de várias perspectivas, e estou tendo problemas para calcular quanta memória minhas VMs realmente usam. Aqui está um exemplo:
- Eu tenho uma VM executando o Windows 7 (como sistema operacional convidado) na máquina host do Windows XP.
- A máquina host possui 3 GB de RAM
- A VM convidada está configurada para ter uma memória base de 1 GB
- Se eu executar o Gerenciador de tarefas no SO convidado, vejo um uso de memória de 430 MB
- Se eu executar o Gerenciador de Tarefas no SO host, vejo 3 processos que parecem pertencer ao VirtualBox:
- VirtualBox.exe (1), usando 60 MB de memória (este parece ter o maior uso de CPU)
- VirtualBox.exe (2), usando 20 MB de memória
- VBoxSvc.exe, usando 11,5 MB de memória
- Durante a execução da VM, o uso da memória do sistema operacional host é de aproximadamente 2 GB
- Quando eu desligo a VM, o sistema operacional do host volta ao uso da memória e reduz para cerca de 900 MB
Tão claramente, existem algumas diferenças enormes aqui. Realmente não entendo como o GuestOS pode usar mais de 400 MB, enquanto o SO do host mostra apenas cerca de 75 MB alocados à VM. Existem outros processos usados pelo VirtualBox que não são tão obviamente chamados?
Além disso, gostaria de saber se eu executo uma máquina com 1 GB, isso levará 1 GB para longe do sistema operacional host ou apenas a quantidade de memória que a máquina Guest está usando no momento?
Atualizar:
Alguém expressou desconfiança em relação aos números de uso de memória e não tenho certeza se essa desconfiança foi direcionada a mim ou aos relatórios do Gerenciador de tarefas do SO Host (que talvez seja o culpado), mas para qualquer cético, aqui está uma captura de tela desses processos na máquina host: