¿Qué puede hacer que los bytes privados de Iisexpress sigan aumentando sin ningún cambio significativo en el montón administrado?

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

Pregunta

Tengo una aplicación ASP.NET MVC 3 que usa Windsor para inyectar repositorios y sesiones de nhibernato. Hoy, por primera vez, llegué a un OutOfMemoryException. Al principio pensé que podría ser porque no estaba lanzando ninguno de los Transient objetos que Windsor estaba creando. Como un experimento rápido, los convirtí en todos en PerWebRequest Estilo de vida, pero no parece haber afectado el patrón de uso de la memoria a lo grande: sigue subiendo.

  • No estoy haciendo ningún almacenamiento en caché
  • No estoy usando recursos no administrados
  • yo soy Hacer la serialización de JSON de varios objetos anónimos
  • La acción que estoy usando para las pruebas de estrés solo devuelve un pequeño objeto JSON (32 bytes), por lo que no hay objetos grandes involucrados en ninguna parte

¿Qué podría hacer que los bytes privados de Iisexpress sigan subiendo cuando mi tamaño de montón administrado es estable (verificado con perfmon)?

¿Cuál sería la herramienta adecuada para depurar esto? Supongo que los perfiladores de CLR pueden no ser útiles porque Perfmon no muestra ninguna fuga en el montón administrado.

¿Fue útil?

Solución

El uso de la memoria parece ser estable después de deshabilitar Vistazo.

No sé qué podría estar haciendo para filtrar la memoria no administrada, sino solo configurar on="false" En la sección Configuración de Glimpse en Web.Config instantáneamente hace que el uso de memoria sea estable.

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