none
registrar el uso de memoria en un fichero de datos RRS feed

  • Pregunta

  • Hola a todos, tengo un problema de que estoy haciendo una aplicación WPF con Visual Studio 2015, y mi problema es que en un equipo  local con 20 Gbs de memoria me funciona correctamente, pero cuando lo subo a un servidor con 32 Gbs de memoria no funciona y me da errores de memoria, y por ello necesitaría utilizar algún tipo de registro de utilización de memoria durante la ejecución en el servidor.

    Dado que el problema surge cuando se ejecuta el compilado en el servidor, no me valen de nada las herramientas gráficas de Visual Studio durante la depuración.

    Se os ocurre que podría añadirle al proyecto para que me grabe en algún fichero el uso que hace de la memoria.

    un saludo y gracias


    • Editado fjjcent domingo, 5 de julio de 2020 18:00
    domingo, 5 de julio de 2020 17:41

Todas las respuestas

  • Puedes usar el Performance Monitor de Windows. Tiene una opción para salvar en un archivo los contadores que quieras ("Data Collector Sets"), entre los que puedes por supuesto incluir el de uso de memoria.

    Los contadores que proporciona "de serie" el Performance Monitor en cuanto a Memoria solo dan valores totales, sin distinguir qué programa es el que ocasiona el consumo. Pero si lo deseas puedes publicar desde tu programa uno o más contadores con la información que desees, que puede ser si lo deseas la ocupación de memoria obtenida mediante System.Diagnostics.Process. Los contadores se publican desde tu programa en .NET usando la clase PerformanceCounter (también en System.Diagnostics):

    https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.performancecounter

    domingo, 5 de julio de 2020 19:40
  • hola

    >>me da errores de memoria, y por ello necesitaría utilizar algún tipo de registro de utilización de memoria durante la ejecución en el servidor

    no validaste si algun proceso no esta ingresando en un loop infinito que hace que la recursividad cause estos problemas

    por lo general no es problema de memoria lo que tendrias sino que el propio .net detecta estas recursividades y aborta la ejecucion antes que se produzca el fallo real

    >>el problema surge cuando se ejecuta el compilado en el servidor

    puede ser que sea por algun dato que solo se reproduce en ese ambiente que hace entrar en recursivo alguna parte del codigo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 6 de julio de 2020 5:54
  • Hola fjjcent, 

      

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

    Espero su respuesta.  

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN.  

    Eric Ruiz

    ____________________________  

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    lunes, 6 de julio de 2020 18:03
    Moderador