Ich versuche, die Speichernutzung meiner Anwendung zu bekommen, aber aus irgendeinem Grund bekomme ich eine andere Größe als im Taskmanager
Ich benutze:
Der Taskmanager zeigt an, dass meine Anwendung 45mb belegt, während ich, wenn ich sie in meinen Code ziehe, 85mb bekomme Wie bekomme ich die gleiche Größe wie im Taskmanager (ohne wmi)
Vermutlich sehen Sie sich die falsche Spalte in "Task-Manager" an oder verwenden die falsche Eigenschaft in der Prozessklasse.
Ich denke, Sie suchen nach WorkingSet64
nicht PrivateMemorySize64
. PrivateMemorySize64
ist die Menge an virtuellem Speicher, die für den Prozess reserviert ist, nicht der physische Speicher. Für physischen Speicher verwenden Sie WorkingSet64
.
Außerdem müssen Sie process.Refresh()
aufrufen, bevor Sie auf eine der dynamischen Eigenschaften in der Prozessklasse zugreifen können, da diese stark zwischengespeichert ist.
Versuchen Sie es einmal mit dem folgenden Code, vielleicht hilft es
%Vor%