Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.351 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: [HELP] CPU / RAM AUslastung eines Prozesses auslesen

  Alt 25. Nov 2011, 01:21
Was hast du denn im Taskmanager ausgewählt? Privater Arbeitssatz (was der Standard ist), Arbeitssatz, ...? Im Standard wird nämlich nur der Arbeitsspeicher angezeigt, der exklusiv von dem Prozess verwendet wird, nicht aber der, den der Prozess zwar nutzt, aber der nicht als MEM_PRIVATE markiert ist.

Diesen privaten Arbeitssatz bekommst du mit GetProcessMemoryInfo und PROCESS_MEMORY_COUNTERS_EX (in PrivateUsage, im Gegensatz zum WorkingSetSize, das den gesamten Arbeitssatz enthält), nicht mit PROCESS_MEMORY_COUNTERS.
http://msdn.microsoft.com/en-us/libr.../ms684874.aspx

Bei Mehrkernprozessoren gibt es was die CPU-Auslastung angeht verschiedene Berechnungsmethoden. Der Taskmanager rechnet diese um auf alle vier Kerne. Die meisten Quelltexte, die ich kenne, rechnen hingegen pro Kern, so dass du durch die Anzahl der Kerne teilen musst um auf die selben Werte zu kommen.
Beim Process Explorer kann ich mir die kumulierten Werte für alle Kerne nicht so recht erklären. Die einzelnen Kerne stimmen aber mit dem Taskmanager von Messungenauigkeiten abgesehen überein.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat