¿Cuál es la mejor herramienta para el seguimiento de un proceso de uso de la memoria durante un largo período de tiempo en Windows?

StackOverflow https://stackoverflow.com/questions/97590

  •  01-07-2019
  •  | 
  •  

Pregunta

¿Cuál es la mejor herramienta disponible para supervisar el uso de memoria de mi C#/.Red de servicio de windows durante un largo período de tiempo.Hasta donde yo sé, las herramientas de rendimiento puede supervisar el uso de memoria durante un corto período de tiempo, pero no de forma gráfica durante un largo período de tiempo.Necesito tendencia de los datos a través de los días, no los segundos.

Para ser claro, yo quiero a supervisar el uso de memoria en un excelente nivel de detalle a lo largo de mucho tiempo, y tiene el gráfico muestran en todo el intervalo de tiempo y el nivel de detalle.Necesito un pequeño intervalo de muestreo, y un gran gráfico.

¿Fue útil?

Solución

El monitor de rendimiento, en mi opinión es una de las mejores herramientas para hacerlo, pero asegúrese de configurar correctamente el intervalo de muestreo de acuerdo con el tiempo que desea monitorear.

Por ejemplo, si desea supervisar un proceso de:

  • 1 hora :Me gustaría utilizar intervalos de 1 segundo (esto generará 60*60 muestras)
  • por 1 día :Me gustaría utilizar intervalos de 30 segundos (esto va a generar 2*60*24 muestras)
  • durante 1 semana :Me gustaría utilizar intervalos de 1 minuto (esto va a generar 60*24*7 muestras)

Con estos intervalos de muestreo de Rendimiento debe tener ningún problema para generar una buena salida gráfica de los contadores.

Otros consejos

Bueno, solía perfmon, exportar los resultados a un archivo csv y se utiliza excel para las estadísticas después.Que trabajó bastante bien la última vez que he necesitado para supervisar un proceso de

Jugando con el Equipo de Gestión (asumiendo que estás ejecutando Windows aquí) y parece que puede hacer que el monitor de un proceso en el tiempo.Vaya a administración de equipos -> registros y alertas de rendimiento y mirar el contador/registros de seguimiento.Haga clic derecho en los registros de contador y agregar un nuevo registro.Ahora haga clic en añadir objeto y seleccione la memoria.Ahora haga clic en agregar contadores y cambiar el "Rendimiento" Objeto de Procesar y seleccione su proceso.

Tan buena como la monitorización de la memoria es, por sí sola, probablemente estás pensando de creación de perfiles de memoria para identificar fugas u obsoletos objetos - http://memprofiler.com/ es una buena opción aquí, pero hay un montón de otros.

Si quieres hacer algo muy específico, no tengas miedo a escribir sus propias basadas en WMI registrador que se ejecuta en un temporizador puede obtener este email que usted procese las estadísticas, advertir cuando crece demasiado rápido o demasiado alto, enviarlo como archivo XML para la creación de gráficos, etc.

Si estás familiarizado con Python, es muy fácil escribir un script para esta.

Activestate Python (que es gratis) expone las partes pertinentes de la API de Win32, a través de la win32process el módulo.

También puedes consultar win32 todos los módulos relacionados con la o uso gotAPI para examinar el estándar de Python libs.

Yo recomiendo usar el .Neto De La Memoria Validador herramienta de software de verificar.Esta herramienta me ha ayudado a resolver muchos problemas diferentes relacionados con la gestión de la memoria en .Neto de la aplicación tengo que trabajar con el.

Puedo utilizar con más frecuencia el C++ versión, pero son bastante similares y el hecho de que realmente se puede ver en tiempo real el tipo de los objetos asignados será de gran valor para usted.

He usado ProcessMonitor si usted necesita algo más poderoso que la perfmon.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top