Wie sehe ich, Speicherzuweisung in einer bestimmten .NET-Anwendung?
-
05-07-2019 - |
Frage
Ich muss überprüfen, wie viel Speicher im Heap zugewiesen. Gibt es eine Möglichkeit, diesen Wert zu erhalten programmatisch mit C #?
Ich weiß um die System.Runtime.InteropServices.Marshal.SizeOf(...)
aber das sagt mir nur die Größe eines Objekts.
Lösung
Performance die Abfrage " # Bytes in allen Heaps“, von Ihrem eigenen Prozess, und auch andere Prozesse.
Mit der Kategorie „Net CLR Memory“ zur Verfügung viele Zähler sehen.
Sie müssen sehen, was der Unterschied in der Systemlast zwischen der Performance und dem GC.GetTotalMemory ist, die von Jon Skeet vorgeschlagen wird.
Andere Tipps
GC.GetTotalMemory
tun alles, was Sie brauchen?
(Beachten Sie, dass SizeOf
sagt Ihnen, nur die vermarshallten Größe, auch -. Nicht unbedingt die Größe im Speicher)