Estoy ejecutando VirtualBox en una máquina con Windows XP con 2 GB de RAM. Creé una máquina virtual de Ubuntu y le asigné una memoria base de 750 MB.
Solo para ponerlo a prueba, ejecuté 20 cosas a la vez en la máquina virtual. Según "top" en ubuntu, se estaban utilizando 750 megas de memoria, así como un considerable espacio de intercambio.
Sin embargo, en el Administrador de tareas de Windows, VitrualBox estaba usando solo 45,000K de memoria. Cuando le pedí a la máquina virtual que hiciera más y más, el uso de la CPU del proceso VirtualBox aumentó (en Windows) pero el uso de la memoria se mantuvo igual.
¿Cómo puede una máquina virtual que usa 750 MB de memoria consumir solo 45 MB de memoria en una máquina física?
Supongo que la respuesta es que la máquina virtual no está usando memoria real, sino memoria simulada (es decir, espacio de intercambio), pero seguro se siente ágil como si se estuviera ejecutando en la RAM.
ACTUALIZACIÓN: he jugado con perfmon como se sugiere. Incluso resumiendo todo lo que puedo pensar, todavía parece tomar menos de 300 megas ... por lo que sigue siendo un misterio.
Process VirtualBox VirtualBox#1 Total
PoolNonpagedBytes 5,840 42,552 48,392
PoolPagedBytes 119,796 166,892 286,688
PrivateBytes 8,884,224 52,719,616 61,603,840
VirtualBytes 75,939,840 161,202,176 237,142,016
Sum 84,949,700 214,131,236 299,080,936
fuente
Con algunas soluciones de virtualización en Linux, la forma en que asignan memoria hace que aparezca en el núcleo del host como un archivo especial mapeado en memoria (muy parecido al
/proc/kcore
archivo especial), por lo que se cuenta en el recuento "en caché" en la salida defree
, no el recuento "usado".Supongo que algo similar está sucediendo con su entorno de Windows: los procesos de administración de VirtualBox utilizarán los 45Mb, y los 750 asignados a la VM se contarán en otro lugar.
fuente
Podría ser memoria virtual, archivos mapeados en memoria o algo similar.
¿Has intentado mostrar otras columnas en el Administrador de tareas?
fuente
No le creas al administrador de tareas. No puede verlo todo.
Este problema se ve más comúnmente con SQL Server, por ejemplo, con SQL, nunca he encontrado a nadie que me dijera una forma de obtener información precisa del Administrador de tareas que me llevara a creer que la figura no está oculta en uno de los otras columnas
fuente