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.
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.
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.
Tags und Links memory c# memory-management