Sto provando a limitare a livello di programmazione il consumo di memoria di plug-in in .Net AppDomain, ma non riesco a trovare alcun parametro di installazione per questo, né posso trovare un modo per interrogare un AppDomain per capire quanta memoria è sta consumando. Qualche idea?Come posso capire quanta memoria viene utilizzata da un Appdomain .Net?
risposta
Questa è la documentazione per l'interrogazione sull'utilizzo della memoria di un processo. Non è lo stesso di AppDomain, ma potrebbe essere un punto di partenza.
http://msdn.microsoft.com/en-us/library/s80a75e5(VS.80).aspx
si può chiedere al GC quello che pensa è attualmente allocato anche.
http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx
Non sicuro a livello di programmazione, ma Process Explorer è in grado di indicare la quantità di memoria utilizzata da un oggetto AppDomain. Forse hanno qualche documentazione là fuori su come stanno interrogando quelle informazioni.
Utilizzando l'interoperabilità mscoree.CorRuntimeHostClass da C: \ WINDOWS \ Microsoft.NET \ Framework \ vXXXXXX \ mscoree.tlb
vecchia questione, ma nel frattempo (dal framework .Net 4.0) è disponibile una nuova soluzione. Dovrai abilitare ARM (Application Resource Monitoring). Da quel punto in poi, è possibile richiedere informazioni sul tempo totale di processore utilizzato, l'utilizzo della memoria ecc