我正在寻找一个命令行工具/脚本来定期捕获和存储总 CPU 使用率百分比和占用大部分 CPU 的进程,类似于sysinternals process explorer
我下面粘贴的屏幕截图。
我努力了
C:\Windows\system32>typeperf "\process(*)\% processor time" -sc 1
这将输出两行,第一行是进程名称,第二行是 CPU 使用率,例如
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.
由于计算机有 8 个核心,我可以简单地将其除以 8 来获得“当前” CPU 使用率百分比吗?
我检查了一下sysinternal pslist
。每行都有一个进程,但我不明白这些数字在 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