Conceptos avanzados

Analizar la caché de RAM de PVS con desbordamiento

En este artículo se proporciona información acerca de determinar con precisión el tamaño de la memoria caché RAM cuando se utiliza la función memoria caché RAM con desbordamiento en el disco.

La memoria caché de RAM con desbordamiento en disco es una función de PVS donde las escrituras de disco vDisk se escriben primero en la memoria RAM del grupo no paginado de Windows. Una vez que el tamaño de caché de RAM especificado por el usuario ha alcanzado su tamaño especificado, PVS vacía el contenido de caché de RAM en el disco para crear espacio para nuevos datos. El tamaño de la memoria caché de RAM fluctúa en función del patrón de carga de trabajo y otras variaciones. PoolMon es una herramienta para tomar una instantánea del tamaño actual de uso de caché RAM buscando pooltag VhdR.

Para obtener información adicional sobre esta función de PVS, vaya al blog para consultar el artículo sobre el uso de caché en RAM con desbordamiento.

Importante

Las herramientas descritas en este artículo son para administradores con conocimientos avanzados de Provisioning Services. Esta información se puede utilizar para ayudar a depurar problemas relacionados con el rendimiento que van más allá del uso de herramientas y procesos de uso común, incluido el Monitor de procesos (ProcMon). Con esta información, tendrá una mejor comprensión de cómo funciona el controlador PVS.

Monitor de grupo de memoria

PoolMon (poolmon.exe) se refiere al Monitor del grupo de memoria. Se utiliza para mostrar datos (asignaciones de memoria de los grupos de kernel paginados y no paginados del sistema, y los grupos de memoria utilizados para las sesiones de Servicios de Terminal Server) recopilados por un sistema operativo. Estos datos se agrupan por la etiqueta de asignación de grupo.

Con memoria de grupo no paginada, puede usar la herramienta PoolMon para verificar la existencia de la etiqueta pooltag denotada por VhdR. VhdR se utiliza para la asignación de caché RAM; esta etiqueta, junto con la VhdLpooltag, es útil al crear scripts para ayudar a analizar los datos asociados con la memoria caché RAM en la memoria de grupo no paginada.

Sugerencia

Los desarrolladores y los probadores suelen utilizar PoolMon para detectar fugas de memoria cuando se crea un controlador, se altera el código del controlador o para probar la tensión del controlador. PoolMon también se puede utilizar en cada etapa del proceso de prueba para verificar el patrón de asignación de memoria de un controlador y operaciones libres, incluido el uso para determinar cuánta memoria de grupo está utilizando el controlador en un momento dado. Para obtener más información sobre el uso del Monitor de grupo de memoria, consulte Sitio de red de desarrolladores de Microsoft.

Usar el Analizador de rendimiento de Windows

El analizador de rendimiento de Windows (WPA) es una herramienta que le permite crear gráficos y tablas de datos relacionados con eventos (específicamente, seguimiento de eventos para Windows) grabados por el grabador de rendimiento de Windows (WPR). Utilice WPA para ayudar a identificar cuellos de botella de rendimiento al depurar problemas relacionados con el controlador PVS, la pila de almacenamiento y los problemas relacionados con el rendimiento que se producen al escribir en el disco VHDX. Con estas herramientas, puede ejecutar evaluaciones y abrir cualquier archivo de registro de seguimiento de eventos para su análisis. Consulte el sitio de Microsoft Developer Network para obtener más información sobre el Analizador de rendimiento de Windows.

Nota

WPA y WPR se incluyen en el Kit de evaluación e implementación de Windows (Windows ADK); para obtener más información acerca de este kit de implementación, consulte el sitio web de Microsoft. Visite el sitio web de Microsoft para obtener la versión más reciente del Analizador de rendimiento de Windows.

Cómo funciona el analizador de rendimiento de Windows con Provisioning Services

PVS genera eventos capturados por el mecanismo de seguimiento de eventos para Windows (ETW). Esta funcionalidad proporciona una forma de rastrear y registrar eventos que se producen por las aplicaciones de modo de usuario y los controladores de modo kernel. ETW se implementa en el sistema operativo Windows y proporciona una manera fácil para que los desarrolladores usen un conjunto de funciones de seguimiento de eventos. Para obtener más información, consulte la Red de desarrolladores de Microsoft.

Instalación del analizador de rendimiento de Windows

WPA debe instalarse en la imagen maestra.

El WPA forma parte del SDK más reciente del sistema operativo Windows 10. Puede instalar selectivamente el Kit de herramientas de rendimiento que incluye WPA y WPR:

Imagen de la función Windows Performance Toolkit seleccionada para la instalación

Después de instalar el WPA y el WPR, utilice el WPR para simular la actividad de E/S de archivos y discos PVS. Una vez creado este tráfico, analice los datos mediante el WPA. Para realizar estas acciones:

  1. Inicie el WPR en el dispositivo de destino y haga clic en Agregar perfiles.

  2. En la pantalla Agregar perfiles, vaya a la plantilla o perfil específicos de PVC. Esto le permite recibir los eventos generados por el proveedor de eventos PVS. Después de importar el perfil, vuelva a la pantalla WPR y seleccione las opciones adicionales que quiera analizar y haga clic en el botón Inicio :

    Imagen de Windows Performance Recorder

    Después de agregar las opciones y hacer clic en Inicio, puede simular la actividad PVS. En este ejemplo, se crea una nueva caché de escritura con un pequeño búfer de memoria (128 MB). Un archivo más grande (279 MB) se copia en C:\Users\User\Documents\test.bin para forzar al controlador PVS a escribir algunos datos en el grupo no paginado para verificar lo que sucede cuando se produce una conmutación por error, que comienza a escribir en el disco local (por ejemplo, D:\vdiskdif.vhdx). Después de copiar el archivo y forzar el búfer a exceder la capacidad, puede detener el proceso de captura en WPR y abrir los resultados mediante WPA.

  3. Mediante el WPA, abra el Explorador de gráficos, expanda Actividad del sistema y seleccione Eventos genéricos. A través de la siguiente pantalla como ejemplo, vea el contenido de las secciones WriteData y WriteRamData. Esta información muestra el recuento exacto de los archivos que se escriben en C:\vDisk (2419 archivos), incluido el archivo VHDX de la unidad D: (348 archivos):

    Ejemplo de resultados de Windows Performance Analyzer

    Sugerencia

    WriteData es menor que el valor mostrado porque está almacenado en caché en RAM y no se ha vaciado en el disco.

  4. Vuelva a la pantalla del Explorador de gráficos y expanda File IO y Count by Type. La siguiente imagen ilustra la reducción de IO (recuento de archivos) y la duración del tiempo que tarda entre escribir en C:\Users\User\Documents\test.bin y el archivo de caché de escritura de desbordamiento ubicado en D:\vdiskdif.vhdx. Con estos datos, puede ver posibles cuellos de botella de rendimiento y descartar eficazmente el controlador de filtro PVS como un problema:

    Ejemplo de resultados de Windows Performance Analyzer que muestran la E/S del archivo y el recuento por tipo

  5. Después de ver el recuento de archivos y la duración del tiempo entre las escrituras (entre el archivo de registro y la caché de escritura de desbordamiento), puede ir más lejos en el proceso de depuración para comprender dónde se escriben los datos inicialmente (y dónde terminan) mediante los desplazamientos de disco. En el Analizador de rendimiento de Windows, abra el Explorador de gráficos expanda Actividad del sistema y seleccione Eventos genéricos. Modifique la vista de columna para permitir que la herramienta WPA muestre la transición de datos en las distintas capas de almacenamiento. Para realizar más depuraciones, vuelva al entorno PVS y establezca el búfer de memoria caché RAM en 0 MB, luego vuelva a ejecutar las herramientas de grabadora (WPR) y analizador (WPA). La siguiente imagen ilustra cómo se produce el desbordamiento al disco:

Ejemplo de Windows Performance Analyzer que muestra la actividad del sistema y los eventos genéricos

Analizar la caché de RAM de PVS con desbordamiento