Hoe kan ek uitvind hoeveel geheue 'n Net Appdomain is beslag?
Vra
Ek probeer om programmaties beperk die geheue verbruik van plugins loop in 'n Net AppDomain, maar ek kan nie enige opset parameters vir hierdie te vind, of kan ek 'n pad na 'n AppDomain navraag om uit te vind hoeveel geheue vind dit is in beslag. Enige idees?
Oplossing
Hier is die dokumentasie vir die gebruik daarvan 'n proses se geheue gebruik. Nie dieselfde as die AppDomain, maar dit kan 'n plek om te begin nie.
http://msdn.microsoft.com/ en-ons / library / s80a75e5 (VS.80) Aspx
Jy kan die GC wat hulle dink is tans ook toegeken vra.
http: // MSDN. microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx
Ander wenke
Ou vraag, maar in die tussentyd (sedert NET Framework 4.0) 'n nuwe oplossing is beskikbaar. Jy sal hê om ARM (Aansoek domein Resource Monitor) in staat te stel. Van daardie punt op, kan jy inligting aan te vra op totale verbruik verwerker tyd, geheue gebruik, ens.
Nie seker programatically, maar Proses Explorer kan jou vertel hoe veel geheue 'n NET AppDomain gebruik. Miskien het hulle 'n paar dokumentasie wat daar is oor hoe hulle bevraagteken dat inligting.
Die gebruik van die mscoree.CorRuntimeHostClass interop van C: \ Windows \ Microsoft.NET \ Framework \ vXXXXXX \ mscoree.tlb