Ich suche nach einem Befehlszeilentool/-skript, um regelmäßig den Prozentsatz der gesamten CPU-Auslastung und die Prozesse, die am meisten CPU-Leistung beanspruchen, zu erfassen und zu speichern, ähnlich dem sysinternals process explorer
Screenshot, den ich unten eingefügt habe.
Ich habe versucht
C:\Windows\system32>typeperf "\process(*)\% processor time" -sc 1
Dies gibt zwei Zeilen aus, mit Prozessnamen in der ersten Zeile und CPU-Auslastung in der zweiten, z. B.
C:\Windows\system32>typeperf "\process(_Total)\% processor time" "\process(mcshield)\% processor time" -sc 1
"(PDH-CSV 4.0)","\\****\process(_Total)\% processor time","\\****\process(mcshield)\% processor time"
"01/25/2021 09:06:44.599","792.840227","29.364453"
The command completed successfully.
Da der Computer über 8 Kerne verfügt, kann ich dies einfach durch 8 teilen, um den „aktuellen“ Prozentsatz der CPU-Auslastung zu erhalten?
Ich habe nachgeschaut sysinternal pslist
. Es steht ein Prozess pro Zeile, aber ich kann nicht herausfinden, was die Zahlen in Bezug auf den CPU-Prozentsatz bedeuten.
C:\Windows\system32>pslist -nobanner
Process information for W-2D5TQQ2:
Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
Idle 0 0 8 0 60 4:38:55.890 1:19:32.649
System 4 8 289 5662 216 0:28:33.656 1:19:32.649
Secure System 72 8 0 0 184 0:00:00.000 1:19:40.412
Registry 128 8 4 0 14012 0:00:13.406 1:19:40.225
smss 620 11 2 53 1188 0:00:01.015 1:19:32.630
csrss 960 13 13 901 1932 0:00:20.796 1:19:08.909
wininit 648 13 1 163 1372 0:00:00.218 1:19:04.494