Hay algo acerca de la administración de memoria de Windows y su relación con TaskManager que no entiendo y espero que alguien pueda iluminarme.
Si estoy ejecutando una máquina virtual (no importa si es Virtual PC 2007, Virtual Server 2005 o VirtualBox, ya que actúan de la misma manera) y aparece el Administrador de tareas. Puedo ver en la pestaña de procesos algunas entradas para la VM pero Los valores de memoria son bastante pequeños (alrededor de 30 MB). Obviamente, no incluye la memoria que realmente está consumiendo la propia máquina virtual. Ninguna de las varias columnas relacionadas con la memoria que puede hacer visibles parece funcionar de manera diferente. El uso de memoria en la pestaña Rendimiento parece ser correcto para el uso de memoria total, incluida la VM.
Entonces, mi pregunta es ¿por qué el uso de memoria de la VM (que será de 100 MB) aparece en la pestaña Procesos?
fuente
VBoxHeadless.exe
proceso correcto (es una hoja en la rama del árbol de procesos, es decir, no tiene otro hijo, puedes usar, por ejemplo, Process Explorer para encontrarlo), esa memoria "perdida" aparece debajo de Bytes privados y Conjunto de trabajo de ese proceso (aunque Process Explorer muestra mucho menos para ambos valores). Así que estoy un poco confundido por qué muestran valores diferentes, pero VMMap parece mostrar el número real .Cualquier sistema de virtualización alojado como los que enumeró incluirá un controlador de dispositivo que se ejecuta dentro del núcleo del sistema operativo host. Esto es necesario ya que los programas en modo de usuario no pueden emitir las instrucciones necesarias para crear una máquina virtual.
La razón por la que no ve la memoria en el administrador de tareas es que está buscando en la memoria los programas en modo de usuario asociados con las máquinas virtuales, y no el controlador de dispositivo en modo kernel que realmente asignó la memoria para las máquinas virtuales.
fuente
VBoxHeadless.exe
proceso correcto (es una hoja en la rama del árbol de procesos, es decir, no tiene otro hijo, puedes usar, por ejemplo, Process Explorer para encontrarlo), esa memoria "perdida" aparece debajo de Bytes privados y Conjunto de trabajo de ese proceso (aunque Process Explorer muestra mucho menos para ambos valores). Así que estoy un poco confundido por qué muestran valores diferentes, pero VMMap parece mostrar el número real .Para ver la cantidad de memoria que usa una máquina virtual, debe asegurarse de tener la columna Conjunto de trabajo visible en su Administrador de tareas. A menudo solo el conjunto privado es visible.
Para habilitar esta columna:
1) Inicie el Administrador de tareas
2) Ir a la pestaña Procesos
3) Ver> Seleccionar columnas
4) Asegúrese de que "Memoria - Conjunto de trabajo" esté marcado
Por ejemplo, el conjunto privado de la máquina virtual que estoy ejecutando en este momento es de 43 MB, mientras que el conjunto de trabajo es de 2,3 Gb
fuente