Estoy buscando una herramienta/script de línea de comandos para capturar y almacenar periódicamente el porcentaje de uso total de la CPU y los procesos que consumen la mayor parte de la CPU, similar a sysinternals process explorer
la captura de pantalla que pegué a continuación.
Yo he tratado
C:\Windows\system32>typeperf "\process(*)\% processor time" -sc 1
Esto genera dos filas, con los nombres de los procesos en la primera fila y el uso de la CPU en la segunda, por ejemplo
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.
Dado que la computadora tiene 8 núcleos, ¿puedo simplemente dividir esto entre 8 para obtener el porcentaje de uso de CPU "actual"?
Lo comprobé sysinternal pslist
. Tiene un proceso por fila, pero no puedo entender qué significan los números en términos de porcentaje de CPU.
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