Wie kann ich herausfinden, wie viel Speicher eine .Net-Appdomain verbraucht?

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

  •  09-06-2019
  •  | 
  •  

Frage

Ich versuche, den Speicherverbrauch von Plugins, die in einer .Net AppDomain ausgeführt werden, programmgesteuert einzuschränken, kann jedoch weder Setup-Parameter dafür finden, noch kann ich eine Möglichkeit finden, eine AppDomain abzufragen, um herauszufinden, wie viel Speicher sie verbraucht .Irgendwelche Ideen?

War es hilfreich?

Lösung

Hier ist die Dokumentation zum Abfragen der Speichernutzung eines Prozesses.Nicht dasselbe wie die AppDomain, aber es könnte ein Ausgangspunkt sein.

http://msdn.microsoft.com/en-us/library/s80a75e5(VS.80).aspx

Sie können den GC auch fragen, was seiner Meinung nach derzeit zugewiesen ist.

http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx

Andere Tipps

Alte Frage, aber mittlerweile (seit .Net Framework 4.0) gibt es eine neue Lösung.Sie müssen ARM (Application Domain Resource Monitoring) aktivieren.Ab diesem Zeitpunkt können Sie Informationen zur insgesamt verbrauchten Prozessorzeit, Speichernutzung usw. anfordern.

Sehen Sie sich hier die Microsoft-Dokumentation an

Programmtechnisch bin ich mir nicht sicher, aber Process Explorer kann Ihnen sagen, wie viel Speicher eine .net-AppDomain verwendet.Vielleicht haben sie eine Dokumentation darüber, wie sie diese Informationen abfragen.

Verwenden des mscoree.CorRuntimeHostClass-Interops von C:\WINDOWS\Microsoft.NET\Framework\vXXXXXX\mscoree.tlb

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top