Wie berechnet man einen privaten Arbeitssatz (Speicher)?

7

Wie berechne ich den privaten Arbeitsspeicher mit C #? Ich interessiere mich für ungefähr die gleiche Zahl wie taskmgr.exe .

Ich verwende den Namespace Process und verwende Methoden / Daten wie WorkingSet64 und PrivateMemorySize64 , aber diese Zahlen sind manchmal um 100 MB oder mehr aus.

    
sholsapp 09.04.2010, 21:42
quelle

3 Antworten

23

Dies ist eine sehr variable Zahl, die Sie nicht berechnen können. Der Windows-Speichermanager tauscht ständig Seiten im RAM aus und aus. TaskMgr.exe erhält es von einem Leistungsindikator. Sie können dieselbe Nummer wie folgt erhalten:

%Vor%

Achten Sie darauf, dass die Zahl wirklich nicht viel bedeutet, sie wird fallen, wenn andere Prozesse beginnen und um RAM konkurrieren.

    
Hans Passant 09.04.2010, 22:04
quelle
0

Für zukünftige Benutzer muss ich Folgendes tun, um sicherzustellen, dass der private Arbeitssatz für Prozesse mit mehreren Instanzen abgerufen wird. Ich rufe CurrentMemoryUsage auf, was den passenden Prozessnamen von GetNameToUseForMemory erhält. Ich fand diese Schleife zu langsam, sogar mit dem Filtern der Ergebnisse, wo ich konnte. Deshalb sehen Sie GetNameToUseForMemory mit einem Wörterbuch zum Zwischenspeichern des Namens.

%Vor%     
Justin Pihony 20.06.2012 19:50
quelle
0

Vielleicht liefert GC.GetTotalMemory die benötigten Daten?

    
Tomas Voracek 09.04.2010 21:46
quelle

Tags und Links