¿Cómo puedo saber cuánta memoria consume un dominio de aplicación .Net?
Pregunta
Estoy intentando restringir mediante programación el consumo de memoria de los complementos que se ejecutan en un dominio de aplicación .Net, pero no puedo encontrar ningún parámetro de configuración para esto, ni puedo encontrar una manera de consultar un dominio de aplicación para determinar cuánta memoria está consumiendo. .¿Algunas ideas?
Solución
Aquí está la documentación para consultar el uso de memoria de un proceso.No es lo mismo que AppDomain, pero podría ser un lugar para comenzar.
http://msdn.microsoft.com/en-us/library/s80a75e5(VS.80).aspx
También puede preguntarle al CG qué cree que está asignado actualmente.
http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx
Otros consejos
Antigua pregunta, pero mientras tanto (desde .Net framework 4.0) hay una nueva solución disponible.Tendrá que habilitar ARM (Monitoreo de recursos del dominio de aplicación).A partir de ese momento, podrá solicitar información sobre el tiempo total consumido del procesador, el uso de la memoria, etc.
No estoy seguro programáticamente, pero Explorador de procesos puede indicarle cuánta memoria está utilizando un dominio de aplicación .net.Tal vez tengan alguna documentación sobre cómo consultan esa información.
Usando la interoperabilidad mscoree.CorRuntimeHostClass desde C:\WINDOWS\Microsoft.NET\Framework\vXXXXXX\mscoree.tlb