Vielleicht habe ich mich einfach nicht verständlich genug ausgedrückt. Also noch einmal:
Du hast im Task-Manager mehrere Anzeigeoptionen betreffend des Arbeitsspeichers. Sechs in der Zahl. Das was du siehst ist nur eine der sechs Optionen. Dieser Wert zeigt aber nur den physikalisch genutzten Arbeitsspeicher an, den NUR der Prozess verwenden kann. Die tatsächliche Arbeitsspeicherverwendung liegt höher, es gibt allerdings auch gemeinsam genutzten Arbeitsspeicher.
Die Funktion ProcessGetStats() gibt dir den tatsächlich genutzten Wert zurück, dabei spielt es keine Rolle, ob es sich dabei um den privaten Arbeitsspeicher oder den gemeinsam genutzten Arbeitsspeicher geht. Diesen Wert kannst du dir auch im Taskmanager anzeigen.
Hier mal ein konkretes Beispiel:
Code:
$mem = ProcessGetStats("explorer.exe")
If IsArray($mem) Then
MsgBox(64, "Info", _
"WorkingSetSize: " & Int($mem[0] / 1024) & " K" & @CRLF & _
"PeakWorkingSetSize: " & Int($mem[1] / 1024) & " K")
EndIf
Ausgabe:
Quote:
WorkingSetSize: 70392 K
PeakWorkingSetSize: 72008 K
|
Taskmanager:
[Only registered and activated users can see links. Click Here To Register...]
Du suchst momentan allerdings den privat genutzten Arbeitsspeicher (in diesem Beispiel "19.584 K"). Das einfachste wäre, wenn du dir im Taskmanager die zusätzliche Spalte anzeigen lässt und mit diesem Wert arbeitest. Alternativ kannst du natürlich auch googlen, wie du den vom Prozess privat genutzten Arbeitsspeicher herausfinden kannst. Aus Erfahrung kann ich dir allerdings schon sagen, dass der "PrivateUsage" Wert der Struktur
[Only registered and activated users can see links. Click Here To Register...] nicht dem angezeigten Wert des privaten Arbeitsspeichers im Taskmanager entspricht.