Ich erstelle ein PowerShell-Skript, um den ersten 10 Prozess zu ermitteln, der Speicher verbraucht, basierend auf dem Arbeitssatz (WS) des Get-Process-Werts. Ich führe die folgende Zeile aus und erhalte die Ergebnisse, sieht großartig aus, aber wenn ich den Task-Manager einchecke, bekomme ich nicht die gleichen Werte. Sogar die Reihenfolge ist anders.
Get-Process | Sort WS -Descending | Select Name,WS -First 10
Das bekommen:
Dann hat der Task-Manager folgendes:
Muss ich andere Berechnungen machen? Jeder könnte das erklären?
Danke im Rat.
PS: OS ist auf Portugiesisch.
quelle
(Get-Process -Id 1234).WS/1MB
(Ersetzen Sie 1234 durch die PID für den Prozess, an dem Sie interessiert sind.) Es scheint auch, dass es in den von Get-Process zurückgegebenen Objekten keine "Private Working Set" -Eigenschaft gibt.Der (freigegebene) Arbeitssatz und der private Arbeitssatz sind zwei verschiedene Dinge.
Mehr Info Ein paar Worte zur Speichernutzung oder: Arbeitssatz vs. privater Arbeitssatz .
Um das Private Working Set über Get-Process in PowerShell zu erhalten, können Sie "PrivateMemorySize" verwenden:
Get-process | Sort PrivateMemorySize -Descending | Select Name,PrivateMemorySize -First 10
quelle