Wie kann ich den verfügbaren RAM oder Speicher erhalten, der von der Anwendung verwendet wird?
c#
memory-management
johnnyRose
quelle
quelle
System.Diagnostics.Process
Klasse ansehen .Antworten:
Sie können verwenden:
So erhalten Sie den aktuellen Prozess und verwenden:
Um die private Speichernutzung zu erhalten. Weitere Informationen finden Sie unter diesem Link .
quelle
GetCurrentProcess
, aber nur aktualisiert werden müssen, wenn Sie vor dem Zugriff auf die Eigenschaften andere Vorgänge ausführen. Quelle - Anmerkungen besagen, dass die Eigenschaften zum Zeitpunkt der Erstellung des Prozess-Snapshots korrekt sind.Möglicherweise möchten Sie die GC.GetTotalMemory- Methode überprüfen .
Es ruft die Anzahl der Bytes ab, von denen derzeit angenommen wird, dass sie vom Garbage Collector zugewiesen werden.
quelle
System.Environment verfügt über WorkingSet - eine 64-Bit-Ganzzahl mit Vorzeichen, die die Anzahl der Bytes des physischen Speichers enthält, die dem Prozesskontext zugeordnet sind.
Wenn Sie viele Details wünschen, gibt es System.Diagnostics.PerformanceCounter , aber die Einrichtung ist etwas aufwändiger.
quelle
Schauen Sie hier für Details.
Wenn Sie den Wert 0 erhalten, müssen Sie
NextValue()
zweimal aufrufen . Dann gibt es den tatsächlichen Wert der CPU-Auslastung an. Weitere Details finden Sie hier .quelle
Neben @JesperFyhrKnudsen ‚s Antwort und @MathiasLykkegaardLorenzen ‘ s Kommentar, sollten Sie besser
dispose
die zurückProcess
nach Gebrauch.Um das zu entsorgen
Process
, können Sie es in einen Bereichusing
einschließen oderDispose
den zurückgegebenen Prozess (proc
Variable) aufrufen .using
Umfang:Oder
Dispose
Methode:Jetzt können Sie die
memory
Variable verwenden, die in Megabyte konvertiert wird.quelle
^
ist bitweises XOR, keine Leistung. Also einfach benutzenproc.PrivateMemorySize64 / (1024*1024)
, oderproc.PrivateMemorySize64 / (1 << 20)
proc.PrivateMemorySize64 / (1024 * 1024)
da die Multiplikation keine Priorität vor der Division hat.Für das gesamte System können Sie das Microsoft.VisualBasic Framework als Referenz hinzufügen.
quelle