Ermitteln der Speichermenge, die ein Prozess verwendet

Ermitteln der Speichermenge, die ein Prozess verwendet

Ich versuche nur die Speichermenge abzurufen, die ein Prozess verwendet. Das Nächste, was ich bekommen kann, ist

tasklist /fi "imagename eq process.exe"

Aber das gibt eine Menge Zeug zurück:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
process.exe                        3384 Console                    1     81,384 K
process.exe                        6156 Console                    1     30,204 K
process.exe                        1436 Console                    1     84,696 K
process.exe                         216 Console                    1    195,100 K

Gibt es eine Möglichkeit (ohne irgendwelche Programme herunterzuladen/installieren), einfach einen numerischen Wert für die Speichermenge zu erhalten, die etwas verwendet?

Antwort1

Versuchen Sie Folgendes: 1. Erstellen Sie eine TXT-Datei und fügen Sie diesen Code ein:

get-process | Group-Object -Property ProcessName | 
Format-Table Name, @{n='Mem (KB)';e={'{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum / 1KB)};a='right'} -AutoSize

Speichern unter, irgendwas.ps1, dann auf Ausführen gehen (Win+R), eingeben: powershell, Enter. Suchen Sie die erstellte Datei und führen Sie sie aus. Wenn Sie diese Datei beispielsweise auf Ihrem Desktop haben, gehen Sie in Powershell (mit dem Befehl cd) zu Ihrem Desktop, drücken Sie die Tabulatortaste so oft wie nötig, um Ihre Datei damit zu finden, und drücken Sie dann die Eingabetaste. Ich hoffe, Sie verstehen das. Es gibt Ihnen die Speichernutzung in KB an. Wenn Sie sie in MB haben möchten, ändern Sie „/1KB in /1MB“.

Wenn Sie den Namen nicht möchten, können Sie „Name“ nach der Formattabelle löschen. Wenn Sie außerdem einen bestimmten Prozess möchten, schreiben Sie nach get-process:

-ProcessName exampleprocess

Hinweis: Wenn es nicht ausgeführt werden möchte, weil Skripts deaktiviert sind oder etwas Ähnliches: Öffnen Sie ein Powershell-Fenster und geben Sie ein:

Set-ExecutionPolicy RemoteSigned

verwandte Informationen