Use Performance Monitor para rastrear el uso de la memoria del software de NI

Actualizado el Aug 3, 2023

Ambiente

Software

  • TestStand
  • LabVIEW

Sistema Operativo

  • Windows

¿Cómo utilizo el Monitor de rendimiento para rastrear y registrar la información del sistema y del proceso?

Performance Monitor (PerfMon) es una herramienta de supervisión de Windows que puede graficar y registrar métricas de rendimiento para procesos específicos. Utilice esta herramienta junto con casos de prueba únicos para aislar los componentes de su sistema que están provocando el crecimiento de la memoria. A diferencia del Administrador de tareas, el Monitor de rendimiento mide el uso de la memoria a intervalos regulares, lo cual es útil si el sistema de prueba debe ejecutarse durante un período prolongado antes de que el crecimiento de la memoria sea evidente.

Este tutorial le muestra cómo usar el Monitor de rendimiento para medir el uso de memoria de un proceso TestStand, mostrar esta información en un gráfico y guardar los datos en un archivo de registro.
  1. Inicie Performance Monitor desde el menú Inicio.
  2. Para ver un gráfico del uso de la memoria, haga clic en Monitor de rendimiento en el árbol de configuración.
El Monitor de rendimiento muestra información al representar gráficamente los valores de los contadores. Los contadores representan varios aspectos del uso de la memoria y el rendimiento del sistema. Puede configurar el conjunto de contadores que se muestran en el gráfico del Monitor de rendimiento.
  1. Seleccione los contadores existentes en la tabla en la parte inferior de la ventana del Monitor de rendimiento.
  2. Presione la tecla Eliminar en el teclado para eliminar estos contadores de la pantalla del gráfico.
  3. Haga clic derecho en el área del gráfico. Haga clic en Agregar contadores…
Aparece el cuadro de diálogo Agregar contadores . Hay un cuadro de lista desplazable con todos los contadores disponibles, categorizados por grupo.



6. Busque el grupo que le interesa, amplíelo y seleccione un contador.

Para problemas de crecimiento de la memoria, a menudo es útil habilitar los contadores de bytes privados, número de controladores, número de subprocesos, #Bytes en todos los montones y tamaño del montón Gen2 . Todas estas métricas son una instantánea de los recursos que utiliza actualmente la aplicación. La siguiente tabla explica el significado de cada contador.
Nota: Para cualquier otro contador no incluido en la tabla, habilite Mostrar descripción para ver la descripción del contador.
GrupoMostradorDescripción
ProcesoBytes privadosLa cantidad de memoria privada en uso por el proceso. El espacio de memoria virtual de un proceso consta de memoria privada, a la que solo puede acceder el proceso, y memoria compartida, a la que pueden acceder otros procesos.
ProcesoNúmero de manejadoresEl número de identificadores de objetos en la tabla de objetos del proceso. Mantener referencias a sesiones de controladores de instrumentos, cargar VIs de LabVIEW y muchas otras operaciones puede hacer que aumente el número de controladores.
ProcesoNúmero de hilosEl número de subprocesos que se ejecutan en el proceso.
Memoria .NET CLR# Bytes en todos los montonesLa cantidad total de memoria que utiliza el proceso para almacenar objetos .NET.
Memoria CLR .NETTamaño de pila Gen 2La cantidad de memoria que utiliza el proceso para almacenar objetos .NET en el montón Gen 2. El montón Gen 2 es un área de la memoria .NET donde se almacenan los objetos que han estado en la memoria durante un largo período de tiempo. Este valor puede indicar que los objetos .NET no se liberan cuando ya no se necesitan.
  1. Seleccione el proceso de interés en la lista Instancias del objeto seleccionado .
Para los sistemas TestStand, esto suele ser SeqEdit o el nombre del ejecutable de la interfaz de usuario, dependiendo de si está ejecutando su sistema de prueba en el Editor de secuencias TestStand o en una interfaz de usuario.
Para aplicaciones de LabVIEW, seleccione LabVIEW .
  1. Haga clic en el botón Agregar para agregar el contador a la lista Contadores agregados .
  2. Repita los pasos 6 a 8 hasta que tenga todos los contadores deseados en la lista Contadores agregados .
  1. Haga clic en Aceptar en el cuadro de diálogo Agregar contadores. El gráfico del Monitor de rendimiento comienza a actualizarse con los valores de los contadores recién agregados.


Configurar el gráfico del monitor de rendimiento

Es probable que deba ajustar la configuración del gráfico para asegurarse de que todos los valores del contador se escalen correctamente para la visualización del gráfico y para asegurarse de que el gráfico muestre datos de un período de tiempo lo suficientemente largo para que pueda determinar si el uso de la memoria aumenta a medida que aumenta el sistema se ejecuta.
  1. Presione Ctrl + Shift + A para seleccionar todos los contadores que se muestran en la tabla en la parte inferior de la ventana.
  2. Haga clic con el botón derecho y seleccione Escalar contadores seleccionados . Esto escalará los valores de cada contador para que los contadores sean visibles en la ventana del gráfico.
  3. Haga clic con el botón derecho en el gráfico y seleccione Propiedades ... Aparece el cuadro de diálogo Propiedades del Monitor de rendimiento .
  4. En la pestaña General , establezca el valor de la Muestra cada y el valor de Duración para que el gráfico muestre el crecimiento de la memoria durante un largo período de tiempo.
Por ejemplo, puede establecer el valor de Muestra cada en 10 y el valor de Duración en 10000 para representar un nuevo valor cada 10 segundos y mostrar un total de aproximadamente 2,5 horas de información en la ventana del gráfico.
  1. Haga clic en Aceptar .
  2. Haga clic con el botón derecho en el área del gráfico y seleccione Borrar . Esto elimina cualquier dato de gráfico existente antes de ejecutar un caso de prueba.
  3. Ejecute un caso de prueba. Examine el gráfico del Monitor de rendimiento para determinar si alguno de los valores del contador aumenta a medida que se ejecuta el sistema de prueba.


Registrar datos de la memoria en un archivo

  1. Haga clic con el botón derecho en Monitor de rendimiento en el árbol de configuración. Seleccione Nuevo »Conjunto de recopiladores de datos.
  1. Ingrese un nombre para su conjunto de datos. Presione Siguiente .
  1. Elija la ubicación donde desea guardar su archivo de registro. Haga clic en Siguiente .
  2. Seleccione Guardar y cerrar . Haga clic en Finalizar .
El nuevo conjunto de recopiladores de datos aparece en el árbol de configuración en Conjuntos de recopiladores de datos >> Definido por el usuario .


Cuando desee comenzar a registrar los datos de rendimiento, haga clic con el botón derecho en su conjunto de recopiladores de datos y seleccione Iniciar . Para detener el registro, haga clic con el botón derecho y seleccione Detener .



Ejemplo

Este es un ejemplo de cómo se vería el gráfico del Monitor de rendimiento después de ejecutar un caso de prueba:



El contador de bytes privados (línea azul) crece a un ritmo constante, mientras que los # bytes en todos los montones y los contadores de tamaño de pila Gen 2 no lo hacen. Esto indica que el espacio de memoria del proceso del editor de secuencias aumenta con el tiempo, lo que indica que podría producirse una pérdida de memoria. Dado que los # Bytes en todos los Heaps y los contadores de tamaño de montón Gen 2 no aumentan con el tiempo, el crecimiento de la memoria no parece ser causado por la memoria .NET. Si estos contadores estuvieran creciendo, esto indicaría que el proceso continúa abriendo referencias .NET y no cerrando las referencias que ya no son necesarias.

Para obtener más información sobre la importancia del tamaño de pila Gen 2 y la recolección de elementos no utilizados .NET, consulte Externo: Fundamentos de la recolección de elementos no utilizados.